草庐IT

可变序列

全部标签

c# - 如何在 xml 序列化期间包含 null 属性

目前,下面的代码在序列化过程中忽略了null属性。我希望输出xml中的空值属性作为空元素。我在网上搜索但没有找到任何有用的东西。任何帮助将不胜感激。varserializer=newXmlSerializer(application.GetType());varms=newMemoryStream();varwriter=newStreamWriter(ms);serializer.Serialize(writer,application);returnms;对不起,我忘了说我要避免属性修饰。 最佳答案 你能控制必须序列化的项目吗?

c# - 只读结构在数组中时是否应该是不可变的?

(注意:此示例代码需要C#7.2或更高版本,以及NugetSystem.Memory程序包。)假设我们有一个只读结构,如下所示:publicreadonlystructTest{publicTest(intvalue){Value=value;}publicintValue{get;}}现在让我们把它放到一个数组中:vararray=newTest[]{newTest(1)};Console.WriteLine(array[0].Value);//Prints1到目前为止一切顺利。您不能编写代码直接修改array[0].Value。现在假设我们这样做:array.AsSpan().As

c# - 如何在使用 JSON.Net 序列化期间有条件地忽略字段和属性?

如何使用JSON.Net在序列化过程中有条件地忽略字段和属性?我无法从JsonIgnoreAttribute继承,因为它是一个sealed类。我该怎么办? 最佳答案 您可以使用JSON.NET的ShouldSerialize语法。JSON.NET网站上有一个很好的例子:http://www.newtonsoft.com/json/help/html/ConditionalProperties.htmpublicclassEmployee{publicstringName{get;set;}publicEmployeeManager{

C# 排序列表 : How to get the next element?

我想知道如何获取C#排序列表中的下一个元素。到目前为止,我想出了以下代码:SortedListmList;BlasomeElement=mList[key];Blanext=mList[mList.Keys[mList.IndexOfKey(key)+1]];我不确定这是否是最明智的做法;-) 最佳答案 因为您可以通过index(seetheRemarkssection)访问SortedList,我建议使用以下内容:varindex=mList.IndexOfKey(key);varfirst=mList.Values[index]

c# - Json.net 慢序列化和反序列化

我有一个问题-Json.Net序列化我的对象真的很慢。我有一些基础类(class):publicclassauthenticationRequest{publicstringuserid;publicstringtid;publicstringtoken;publicstringplatform;publicstringversion;}我正在用序列化它stringjsonDataToSend=JsonConvert.SerializeObject(dataToSend);此操作大约需要1900毫秒。与来自Json.netCodePlex的信息相比页:这需要很长时间。出于测试目的,我将

c# - 使用 JSON 序列化/反序列化 TimeSpan

我正在尝试使用Newtonsoft.Json.JsonConvert反序列化/序列化时间跨度,但是当发送JSON时,它被设置为00:00:00。这甚至可以做到吗? 最佳答案 我尝试了#Jessycormier的方法,但它对我不起作用。我运行DataContractJsonSerializer以查看它会生成什么,我发现它给了我一个看起来更像这样的值。{"PassedTimeSpan":"P1DT2H3M4S"}上面显示的值是1天2小时3分4秒。所以看起来格式是:[-]P[{days}D][T[{hours}H][{min}M][{se

c# - 将 XML 反序列化为 XSD 生成的类时出现问题

我有一个相当详细的xml文件。下面是顶级节点(我已经包含了椭圆,因为较低级别的节点都是格式正确的并且正确地填充了数据):......我使用VisualStudio2008命令提示符创建了一个xsd文件:xsdsample.xml这会很好地生成xsd文件。然后我使用命令从xsd自动生成类:xsdsample.xsd/classes为了将xml文件反序列化为类对象,我使用了辅助类中的读取函数:publicclassXmlSerializerHelper{publicType_type;publicXmlSerializerHelper(){_type=typeof(T);}publicvo

c# - 使用 jQuery AJAX 将字符串数组传递给具有可变数量参数的 web 方法

我正在尝试使用jQueryAjax将字符串参数数组传递给C#ASP.NETWeb服务。这是我的示例网络方法。请注意,该函数接受可变数量的参数。运行jquery时,Chrome的javascript控制台出现500InternalServerError。我正在使用jquery1.6.2和.NET3.5[WebMethod]publicstringConcat(paramsstring[]arr){stringresult="";for(inti=0;i这是jquery:$(document).ready(function(){varmyCars=newArray();myCars[0]=

c# - 序列化为 JSON 时出现 OutOfMemoryException?

我正在连载一个MultiDictionaryhttp://powercollections.codeplex.com/tojson.它有618个元素,元素嵌套得很深,即一个对象可能有多个类似字典的对象。我正在使用JSON.NetStringjson=JsonConvert.SerializeObject(json,Newtonsoft.Json.Formatting.Indented);我错过了什么?更多信息:-在我使用dynamic之前这一直工作正常,我不得不切换到MultiDictionary以允许同名的多个属性。它适用于大多数情况,只有当项目数量很大时,它才会中断。更新:-我已经

c# - 将内存流对象序列化为字符串

现在我正在使用XmlTextWriter将MemoryStream对象转换为字符串。但我想知道是否有更快的方法将内存流序列化为字符串。我按照此处给出的代码进行序列化-http://www.eggheadcafe.com/articles/system.xml.xmlserialization.asp已编辑串流到字符串ms.Position=0;using(StreamReadersr=newStreamReader(ms)){stringcontent=sr.ReadToEnd();SaveInDB(ms);}串流stringcontent=GetFromContentDB();byt