#region 序列化及反序列化对象
[Serializable]
public class SerializableDictionary<TKey, TValue> : Dictionary<TKey, TValue>, IXmlSerializable
{
public SerializableDictionary() { }
public void WriteXml(XmlWriter write)
{
XmlSerializer KeySerializer = new XmlSerializer(typeof(TKey));
XmlSerializer ValueSerializer = new XmlSerializer(typeof(TValue));
foreach (KeyValuePair<TKey, TValue> kv in this)
{
write.WriteStartElement("SerializableDictionary");
write.WriteStartElement("key");
KeySerializer.Serialize(write, kv.Key);
write.WriteEndElement();
write.WriteStartElement("value");
ValueSerializer.Serialize(write, kv.Value);
write.WriteEndElement();
write.WriteEndElement();
}
}
public void ReadXml(XmlReader reader)
{
reader.Read();
XmlSerializer KeySerializer = new XmlSerializer(typeof(TKey));
XmlSerializer ValueSerializer = new XmlSerializer(typeof(TValue));
while (reader.NodeType != XmlNodeType.EndElement)
{
reader.ReadStartElement("SerializableDictionary");
reader.ReadStartElement("key");
TKey tk = (TKey)KeySerializer.Deserialize(reader);
reader.ReadEndElement();
reader.ReadStartElement("value");
TValue vl = (TValue)ValueSerializer.Deserialize(reader);
reader.ReadEndElement();
reader.ReadEndElement();
this.Add(tk, vl);
reader.MoveToContent();
}
reader.ReadEndElement();
}
public XmlSchema GetSchema()
{
return null;
}
}
#endregion
分享到:
相关推荐
Dictionary序列化源码 datatable序列化源码 文件反序列化为泛型数组 序列化泛型数组为xml文件 值得下载 源码可以运行
ReadXml方法用于从XML文件中读取数据,我们需要使用XmlSerializer来反序列化键和值。 ```csharp public void ReadXml(System.Xml.XmlReader reader) { XmlSerializer keySerializer = new XmlSerializer(typeof(T...
利用JSON.NET制作的,对JSON文本进行序列化和反序列化操作的类,可反序列化成实体类或Dictionary,也可从类或Dictionary序列化成JSON文本
unity字典序列化工具SerializableDictionary 仅供学习,请勿商用。
可序列化字典 Unity的可序列化字典类。 Unity无法序列化标准字典。 这意味着它们将不会在检查器中显示或编辑,并且不会在启动时实例化。 一个经典的解决方法是将键和值存储在单独的数组中,并在启动时构造字典。 ...
用于在自定义ScriptableObject和MonoBehaviour类中添加有序词典的库,只要键和值类型是可序列化的,就可以由Unity进行序列化。 $ yarn add rotorz/unity3d-ordered-dictionary 该软件包与工具兼容。 有关将程序...
BinaryPack是一个受MessagePack启发的二进制序列化库,但速度更快,效率更高,并且产生的文件更小。 该项目的目标是当不需要与其他应用程序或Web服务共享序列化的模型时,可以使用BinaryPack替代JSON,XML, ...
同时NewtonJson的序列化和反序列化的接口比较简单,相对的功能也比较强大。不过在使用中也不是没有坑的,所以把一些心得记录下,以备日后查询。 序列化和反序列化 序列化和反序列化很简单,调用相关的接口即可。...
- Unity的inspector不会在inspector中公开Dictionary类, Tvalue> - Unity不序列化字典信息,因此按下播放或重新加载场景时,收集的所有字典数据都会丢失。 解决方案: - 为MonoBehaviour创建自定义编辑器,利用字典 ...
统一序列化字典序列化字典并在检查器中直观地查看它们开始之前 确保您至少具有Unity 2019.4 (在#3 PR之前版本2017可以正常工作,不确定它是否现在可以正常工作)使用看一下包中的示例 贡献您可以通过报告问题和...
简单介绍 里氏替换原则 简单工程模式 实现任意排序 使用了 is 和 as 方法 ArrayList数组 与 List泛型集合 Hashtable数组 与 Dictionary,v>泛型集合 的基本使用 序列化 将数据存储
本文实例讲述了JSON与js对象序列化。分享给大家供大家参考,具体如下: JavaScript对象表示法(JavaScript Object Notation,简称JSON)是一种轻量级的数据交换格式,它基于js字面量表示法,是js的一个子集。虽然是...
C#中Json 解析类库,C# 解析json 时,通常使用的是强类型对象反序列化,但是有时候不知道具体的对象时,使用该类库,使用dictionary 解析弱类型数据
ASP.NET JSONHelper JSON帮助类是一个ASP.NET下的JSON帮助类库,提供了多种常用的JSON序列化和反序列化方法。该类库通过使用System.Web.Script.Serialization命名空间下的JavaScriptSerializer类来实现JSON序列化和...
这种二进制的格式也跟Python语言的版本相关,marshal序列化的格式对不同的版本的Python是不兼容的。 marshal一般用于Python内部对象的序列化。 一般地包括: 基本类型 booleans, integers,floating point numbers...
2.序列化某些类型 比如:Dictionary 3.非常美观的Inspector界面 序列化类型: Type[,] Type[][] List<List<Type>> Dictionary,Type> 这些都是游戏里很常用的数据类型,然而并不能被Unity序列化出来在Inspector中,...
## 资源描述:超过500个原生Swift扩展的便捷集合 ... - 支持JSON序列化和反序列化,简化数据交换。 ### 3. UI组件扩展 1. **UIView 扩展**: - 提供了设置圆角、边框、阴影等便捷方法。 - 支持视图快照、动画
通用可序列化字典轻巧且极简的Unity 2020.1.x词典,具有原生外观。什么将普通的System.Collections.Generic对象与Unity的通用序列化程序结合使用。 实现IDictionary接口,也可以作为ICollection传递。 可选属性抽屉...
WriteCache方法: 用Dictionary, Dictionary, byte[]>替代Cache类 数据库名+表名 为缓存KEY SQL语句为缓存键值的key 查询结果序列化为缓存键值的Values 序列化后加密保存在本地供调用 ReadCache方法:解密后反序列...
WriteCache方法: 用Dictionary, Dictionary, byte[]>替代Cache类 数据库名+表名 为缓存KEY SQL语句为缓存键值的key 查询结果序列化为缓存键值的...序列化后加密保存在本地供调用 ReadCache方法:等分不够了再写。