草庐IT

序列号

全部标签

c# - 如何以任意序列搜索模式?

正则表达式仅适用于字符串,但如果该功能不仅可以扩展到字符,还可以扩展到对象,甚至进一步扩展到函数,那会怎样呢?假设我们的对象是整数,它们可以按任何顺序排列:12345678910111213你要解决的任务是像这样找到素数对(或类似的模式搜索任务):{prime}{anyNumber}{prime}所以答案是这样的:(3,4,5)(5,6,7)(11,12,13)或者更复杂的素数链示例:{prime}({anyNumber}{prime})+回答:(3,(4,5),(6,7))(11,(12,13))很像Regex的工作方式,对吧?发生的事情是你定义了一些名为isPrime(x)的函数,

c# - 实现 IEnumerable<T> 的自定义集合的 Json.net 序列化

我有一个实现IEnumerable的集合类,但我在反序列化其序列化版本时遇到了问题。我正在使用Json.netv4.0.2.13623这是我的集合类的简化版本,可以说明我的问题publicclassMyType{publicintNumber{get;privateset;}publicMyType(intnumber){this.Number=number;}}publicclassMyTypes:IEnumerable{privatereadonlyDictionaryc_index;publicMyTypes(IEnumerableseed){this.c_index=seed.

c# - 根据属性的运行时值选择性地序列化属性

从根本上说,我想根据序列化时的值从生成的Json中包含或省略属性。更具体地说,我有一个类型知道是否已为其分配了一个值,并且我只想序列化该类型的属性,如果已经被分配给它(所以我需要在运行时检查值)。我试图让我的API能够轻松检测“具有默认值”和“根本未指定”之间的区别。自定义JsonConverter似乎不够;我试过了,我相信属性名称在调用转换器之前已经序列化了。就我而言,我什至想省略属性名称。我研究过扩展DefaultContractResolver,但CreateProperty和CreateProperties(返回JsonProperty序列化元数据)仅采用被序列化的类型,因此我

c# - 如何告诉 XmlSerializer 始终使用 [DefautValue(...)] 序列化属性?

我正在使用DefaultValue属性来实现正确的PropertyGrid行为(它以粗体显示与默认值不同的值)。现在,如果我想使用XmlSerializer序列化显示的对象,那么在xml文件中将不会有具有默认值的属性的条目。告诉XmlSerializer序列化它们的最简单方法是什么?我需要它来支持“版本”,所以当我稍后在代码中更改默认值时-序列化属性获取它序列化的值,而不是“最新”值。我可以考虑以下内容:覆盖PropertyGrid的行为(使用自定义属性,因此它会被XmlSerializer忽略);执行自定义xml序列化,忽略DefaultValue;在将对象传递给XmlSeriaze

c# - Json.NET 序列化中有没有办法区分 "null because not present"和 "null because null"?

我在ASP.NETwebapi代码库中工作,我们在很大程度上依赖于通过JSON.NET自动支持将消息主体的JSON反序列化为.NET对象。作为为我们的一项资源构建补丁支持的一部分,我非常想区分JSON对象中不存在的可选属性与显式为null的同一属性。我的意图是将第一个用于“不要更改那里的内容”与“删除此内容”。有谁知道是否可以标记我的C#DTO,以便在它们被反序列化时JSON.NET可以告诉我它是哪种情况?现在它们只是作为null出现,我不知道为什么。相反,如果有人能想出一个更好的设计,不需要我这样做,同时仍然支持补丁动词,我很想听听你的建议。作为一个具体的例子,考虑将传递给put的这

c# - XmlTextWriter序列化问题

我正在尝试创建一段xml。我用xsd.exe创建了数据类。根类是MESSAGE。因此,在创建了一个MESSAGE并填充了它的所有属性之后,我将它序列化如下:serializer=newXmlSerializer(typeof(Xsd.MESSAGE));StringWritersw=newStringWriter();serializer.Serialize(sw,response);stringxml=sw.ToString();到目前为止一切顺利,字符串xml包含有效(UTF-16编码)xml。现在我喜欢用UTF-8编码创建xml,所以我这样做:编辑:忘记包含流的声明seriali

c# - 使用 json.net 在序列化期间合并两个对象?

我遇到了如下情况,谁能帮我实现一下?例如,如果我有类(class):-publicclassSample{publicStringname{get;set;}publicMyClassmyclass{get;set;}}我的Myclass将如下所示:publicclassMyClass{publicStringp1{get;set;}publicStringp2{get;set;}}当我使用Json.net序列化Sample类的对象时,我得到如下结果并且运行良好。{"name":"...","myclass":{"p1":"...","p2":"..."}}它是正确的,但我想知道是否可

c# - .NET 4.5 中的序列化中断

我们有一个只发生在.NET4.5中的序列化问题-相同的代码在.NET4中工作正常。我们正在尝试用几个字段序列化一个继承类型,基类和继承类都用标记序列化属性。我们在Web服务的客户端得到一个异常,说服务器中有一个MethodAccessException,服务器本身没有抛出任何异常,这似乎是客户端序列化过程中的问题。请务必注意,我们是在.NET4中编译的,而不是.4.5更新:在实现ISerailize并忽略“Value”属性后,程序确实运行正常,但这意味着我们不得不放弃序列化该字段。任何帮助将不胜感激。谢谢,欧麦异常详情:System.Web.Services.Protocols.Soa

c# - 对象实体到 CSV 序列化/转换

如何在C#中将所有值(属性)写入csv格式的字符串?例如:classPerson(stringfirstName,stringlastName,int_age);Personperson=newPerson("Kevin","Kline",33);现在我想要一个字符串"Kevin;Kline;33"换句话说,我想将一个对象序列化为CSV 最佳答案 看看JoshClose's优秀CSVHelper图书馆varperson=newPerson("Kevin","Kline",33);using(varcsv=newCsvWriter(n

c# - 序列化时如何跳过xml声明?

我正在尝试输出一个没有xmlhead的xml文件我试过:Typet=obj.GetType();XmlSerializerxs=newXmlSerializer(t);XmlWriterxw=XmlWriter.Create(@"company.xml",newXmlWriterSettings(){OmitXmlDeclaration=true,Indent=true});xs.Serialize(xw,obj);xw.Close();但它仍然在xml文件中输出。我不想要弦乐技巧。有什么想法吗? 最佳答案 将Conformance