草庐IT

序列帧动画

全部标签

c# - 使用 Json.NET 序列化时如何省略空集合

我正在使用Newtonsoft的Json.NET7.0.0.0将类从C#序列化为JSON:classFoo{publicstringX;publicListY=newList();}varjson=JsonConvert.SerializeObject(newFoo(),Formatting.Indented,newJsonSerializerSettings{NullValueHandling=NullValueHandling.Ignore});这里json的值是{"Y":[]}但如果Y是一个空列表,我希望它是{}。我找不到令人满意的方法来实现这一点。也许使用自定义契约(Contr

c# - 在 Stream 中找到给定字节序列开始位置的最佳方法

您认为在System.Stream中查找给定字节序列开始位置(第一次出现)的最佳方法是什么:publicstaticlongFindPosition(Streamstream,byte[]byteSequence){longposition=-1;///???returnposition;}附言首选最简单但最快的解决方案。:) 最佳答案 我已经找到了这个解决方案。我用一个3.050KB的ASCII文件做了一些基准测试和38803lines.用搜索bytearray的22bytes在文件的最后一行,我得到了大约2.28的结果。秒(在慢

c# - 将类设置为可序列化的缺点

我正在使用Azure缓存预览版,需要使一些类可序列化。将类设置为可序列化是否有任何缺点-例如性能问题?[Serializable]publicclassMyClass{}我发现很少有相关问题,但它们不是关于缺点的。Areall.NETexceptionsserializable?DrawbacksofmarkingaclassasSerializable提前致谢 最佳答案 不,仅仅被标记为[Serializable]并没有内在的开销。我遇到的唯一问题是BinaryFormatter和NetDataContractSerializer

c# - 为什么我不应该使类可序列化?

我正在我的View状态中存储一些对象,我想知道制作一个类Serializable是否有任何缺点?让所有的类都Serializable是不好的做法吗? 最佳答案 首先。避免View状态。通常序列化(文本)用于传输对象。您应该避免将任何不是DTO(数据传输对象)或消息类的类标记为可序列化。我们这样做有几个原因。以序列化格式获取您的类的内容可能没有非DTO类的方法信息(在原始程序集中)。其次,一个类可能引用一个资源(数据库连接、文件句柄等)不要序列化这些,因为反序列化不会重新建立资源连接和状态,除非明确设计,但这仍然是一个坏主意。所以总而

c# - 如何序列化 List<T>?

我有A类。B类和C类是A类的一部分。ClassA{//FewPropertiesofClassAListlist1=newList()Listlist2=newList()NsystemNotSystem{get;set;}//EnumPropertyType}publicenumNsystem{A=0,B=1,C=2}我想序列化A类并用它生成XML;我还想序列化list1和list2以及枚举...什么是序列化此XML的好方法,因为我需要将对象转换为XML并将XML转换为对象的功能...执行此操作有哪些好的选择?谢谢 最佳答案 您可

c# - 序列化 bool ?错误反射(reflect)类型

我有一个类似的类[Serializable]publicclassMyClass{[XmlAttribute]publicboolmyBool{get;set;}}但是当xml中不存在属性时,这会将bool的值序列化为false。当属性不在xml中时,我希望该属性为null。所以我试过了[Serializable]publicclassMyClass{[XmlAttribute]publicbool?myBool{get;set;}}但是随后序列化器出错Typet=Type.GetType("Assembly.NameSpace.MyClass");XmlSerializermySer

c# - 通过 bool 函数排序列表的更短方法

我有一个需要以特定方式排序的列表。我目前是这样解决的:varfiles=GetFiles().OrderByDescending(x=>x.Filename.StartsWith("ProjectDescription_")).ThenByDescending(x=>x.Filename.StartsWith("Budget_")).ThenByDescending(x=>x.Filename.StartsWith("CV_")).ToArray();这些文件将被合并到一个PDF文件中,这里的重点是某些文件应该放在开头,其余的放在最后。我想知道是否有更好的方法来编写这个“模式”,因为它

c# - 序列化和恢复未知类

基础项目包含一个抽象基类Foo。在单独的客户端项目中,有实现该基类的类。我想通过在基类上调用一些方法来序列化和恢复具体类的实例://Inthebaseproject:publicabstractclassFoo{abstractvoidSave(stringpath);abstractFooLoad(stringpath);}可以假设在反序列化时,所有需要的类都存在。如果可能的话,序列化应该用XML完成。使基类实现IXmlSerializable是可能的。我有点卡在这里。如果我对事情的理解是正确的,那么这只能通过向每个实现类的基类添加[XmlInclude(typeof(Unknown

c# - 使用 JSON.NET 将 JSON 反序列化为匿名对象

我正在使用JSON.NET对对象进行反序列化,但我无法让它与我正在使用的对象的当前结构一起工作。http://dorobantu.me/post/2010/08/22/Deserializing-JSON-to-anonymous-types-in-C.aspx我的对象目前看起来像这样(我想传递一个对象列表)[{"ID":"ConcurrentUser","FieldType":190,"value":""},{"ID":"SystemType","FieldType":191,"value":null}]我收到错误:CannotdeserializeJSONarrayintotype

c# - LINQ 方法的序列有什么重要性吗?

只是想知道,添加LINQ方法的顺序是否重要?例如。using(MyDataContextcontext=newMyDataContext()){varuser=context.Users.Where(u=>u.UserName.StartsWith("t")).OrderByDescending(u=>u.CreatedDate).FirstOrDefault();}和这个完全一样吗?using(MyDataContextcontext=newMyDataContext()){varuser=context.Users.OrderByDescending(u=>u.CreatedDat