- 浏览: 1024137 次
- 性别:
- 来自: 天津
文章分类
- 全部博客 (445)
- Java (22)
- J2EE (18)
- Flex (102)
- Flex-blazeds (1)
- Flex-FABridge (2)
- Flex4 (3)
- CheckStyle (2)
- PowerDesigner (0)
- POI (2)
- Java2Word (2)
- 杂项 (15)
- 日记 (3)
- 数据库-oracle (41)
- 数据库-SQLServer (7)
- 中间件 (1)
- 英语 (8)
- C# (43)
- ASP.net (72)
- ASP.net MVC (28)
- 微软-Entity Framework (19)
- JavaScript (22)
- JQuery (31)
- EasyUI (3)
- VS2010 (4)
- CVS (1)
- Tomcat (3)
- Linux (1)
- 遗留问题 (1)
- iphone (1)
- MAC (0)
- 系统 (2)
- Web Service (4)
- Cache Manager (1)
- PMP (1)
- WCF (10)
- BootstrapJs (1)
- Web API (6)
- Go语言 (0)
- 网络协议 (2)
- Redis (10)
- RabbitMQ (10)
- Git (3)
- Kafka (5)
- ELK (5)
- Nginx (3)
- 测试 (2)
最新评论
-
ygm0720:
Table行拖拽自己实现 -
程乐平:
Flex4开发视频教程(27集)下载http://bbs.it ...
Flex4教程 -
liuweihug:
Jquery+asp.net 后台数据传到前台js进行解析的办 ...
AJAX $.toJSON的用法或把数组转换成json类型 -
weilikk:
谢谢谢谢!!
javascript IE下不能用 trim函数解决方法 -
gxz1989611:
vigiles 写道请问楼主:[Fault] exceptio ...
blazeds推送技术至Flex
using System.Collections.Generic; using System.IO; using System.Runtime.Serialization; using System.Xml.Serialization; namespace ConsoleApplication1 { internal class Program { private static void Main(string[] args) { SerializableDictionary<string, string> obj = new SerializableDictionary<string, string>(); obj.Add("1", "1ff"); obj.Add("2", "2gg"); obj.Add("3", "3yy"); StringWriter _memory = new StringWriter(); XmlSerializer formatter = new XmlSerializer(obj.GetType()); formatter.Serialize(_memory, obj); //_memory.Seek(0, SeekOrigin.Begin); StringReader sr = new StringReader(_memory.ToString()); SerializableDictionary<string, string> obj2 = (SerializableDictionary<string, string>)formatter.Deserialize(sr); _memory.Close(); } } /// <summary> /// 标题:支持 XML 序列化的 Dictionary /// </summary> /// <typeparam name="TKey"></typeparam> /// <typeparam name="TValue"></typeparam> [XmlRoot("SerializableDictionary")] public class SerializableDictionary<TKey, TValue> : Dictionary<TKey, TValue>, IXmlSerializable { #region 构造函数 public SerializableDictionary() : base() { } public SerializableDictionary(IDictionary<TKey, TValue> dictionary) : base(dictionary) { } public SerializableDictionary(IEqualityComparer<TKey> comparer) : base(comparer) { } public SerializableDictionary(int capacity) : base(capacity) { } public SerializableDictionary(int capacity, IEqualityComparer<TKey> comparer) : base(capacity, comparer) { } protected SerializableDictionary(SerializationInfo info, StreamingContext context) : base(info, context) { } #endregion 构造函数 #region IXmlSerializable Members public System.Xml.Schema.XmlSchema GetSchema() { return null; } /// <summary> /// 从对象的 XML 表示形式生成该对象 /// </summary> /// <param name="reader"></param> public void ReadXml(System.Xml.XmlReader reader) { XmlSerializer keySerializer = new XmlSerializer(typeof(TKey)); XmlSerializer valueSerializer = new XmlSerializer(typeof(TValue)); bool wasEmpty = reader.IsEmptyElement; reader.Read(); if (wasEmpty) return; while (reader.NodeType != System.Xml.XmlNodeType.EndElement) { reader.ReadStartElement("item"); reader.ReadStartElement("key"); TKey key = (TKey)keySerializer.Deserialize(reader); reader.ReadEndElement(); reader.ReadStartElement("value"); TValue value = (TValue)valueSerializer.Deserialize(reader); reader.ReadEndElement(); this.Add(key, value); reader.ReadEndElement(); reader.MoveToContent(); } reader.ReadEndElement(); } /**/ /// <summary> /// 将对象转换为其 XML 表示形式 /// </summary> /// <param name="writer"></param> public void WriteXml(System.Xml.XmlWriter writer) { XmlSerializer keySerializer = new XmlSerializer(typeof(TKey)); XmlSerializer valueSerializer = new XmlSerializer(typeof(TValue)); foreach (TKey key in this.Keys) { writer.WriteStartElement("item"); writer.WriteStartElement("key"); keySerializer.Serialize(writer, key); writer.WriteEndElement(); writer.WriteStartElement("value"); TValue value = this[key]; valueSerializer.Serialize(writer, value); writer.WriteEndElement(); writer.WriteEndElement(); } } #endregion IXmlSerializable Members } }
发表评论
-
DotNet 资源大全(下)
2018-07-12 10:18 590HTML 和 CSS(HTML and CSS) ... -
DotNet 资源大全(上)
2018-07-12 10:17 740API 框架 NancyF ... -
C#Make自动化构建-简介
2018-05-25 17:10 712. Cake是什么? Cake是C# ... -
从零开始构建MSBuild C#项目文件
2018-05-25 16:08 733准备条件 一个好用的文本编辑器,例如Atom或者Subl ... -
asp.net mvc处理css和js版本问题
2018-05-24 16:40 1409当服务的修改了js和css内容后,发布到II ... -
分布式系统调用链监控
2018-02-22 14:36 866分布式系统调用链监 ... -
TOKEN+签名验证
2018-02-01 13:24 661首先问大家一个问题 ... -
C# LINQ to SQL
2017-07-28 12:48 6811、Concat(连接不同的集合不会自动过滤相同项。会延迟计 ... -
MongodDB client connect Server with Replication set and auth
2017-07-03 16:50 499写在这里,留作记录: 1. 利用字符串 ... -
IIS 优化
2017-06-28 21:57 1685通过对IIS7的配置进行优化,调整IIS7应用池的队列长度, ... -
IIS初始化(预加载),解决第一次访问慢,程序池被回收问题
2017-06-28 21:39 2081读在最前面: 1、本文以IIS8,Windows Se ... -
ASP.NET WebAPI HTTPS
2017-03-08 15:39 1662参照文档 http://southwo ... -
基于 EntityFramework 的数据库主从读写分离服务插件
2017-03-08 15:06 11751. 版本信息和源码 1.1 版本信息 v1.01 be ... -
SQL2K,DTC错误:"该伙伴事务管理器已经禁止了它对远程/网络事务的支持"的解决办法
2017-01-05 10:39 1102近日在用wf做数据持久化时发现:该伙伴事务管理器已经禁止了它 ... -
夸数据库业务事务处理-配置msdtc
2017-01-05 10:37 698配置msdtc需要分别配置数据库服务器和开发机,因为只有两个 ... -
C#中跨数据库增删改的事务控制
2017-01-04 13:25 689在程序的开发过程中,对数据库的增删改通常要用到事务,用来实现 ... -
.Net下RabbitMQ的使用(9) -- 在WCF下使用RabbitMQ
2016-12-19 10:42 1014RabbitMQ .net客户端通过自定义的Binding ... -
.Net下RabbitMQ的使用(8) -- 远程过程调用RPC
2016-12-19 10:42 1060RPC是在计算中是一种 ... -
.Net下RabbitMQ的使用(7) -- 消息的传输控制
2016-12-19 10:41 977前文中也多次提到消息传输的一些概念,这一篇比较全面的介绍一 ... -
.Net下RabbitMQ的使用(6) -- 持久化
2016-12-19 10:41 757消息的持久化是消息 ...
相关推荐
本篇将详细讲解标题和描述中提到的`Dictionary`和`DataTable`的序列化与反序列化方法。 首先,让我们了解`Dictionary, TValue>`。`Dictionary`是.NET中的一个内置类,它实现了键值对的存储,通常用于创建关联数据...
在VB.NET编程环境中,XML和JSON序列化与反序列化是常见的数据处理技术,用于将对象转换为文本格式(XML或JSON),以便于存储、传输和解析。这两者都是轻量级的数据交换格式,广泛应用于Web服务和客户端应用程序之间...
在IT领域,序列化和反序列化是两个关键的概念,特别是在处理对象持久化、网络传输或数据存储时。本文将详细探讨标题所提及的“hashtable序列化与反序列化”,并提供一个基本的示例。 首先,让我们理解什么是序列化...
在C#编程中,序列化和反序列化是两个关键的概念,它们主要用于对象状态的持久化和恢复。本文将深入探讨C#中的XML序列化和反序列化技术,包括如何将XML文档解析为对象,以及如何将对象转换回XML文档进行存储。我们将...
ReadXml方法用于从XML文件中读取数据,我们需要使用XmlSerializer来反序列化键和值。 ```csharp public void ReadXml(System.Xml.XmlReader reader) { XmlSerializer keySerializer = new XmlSerializer(typeof(T...
利用JSON.NET制作的,对JSON文本进行序列化和反序列化操作的类,可反序列化成实体类或Dictionary,也可从类或Dictionary序列化成JSON文本
序列化和反序列化是计算机科学中的重要概念,特别是在数据存储、网络通信和对象持久化等领域。接口在编程中则扮演着定义规范和提供抽象的角色。让我们深入了解一下这些概念。 **序列化** 是将对象的状态转换为可...
### XML与C#中的序列化和反序列化 在C#开发中,序列化和反序列化是非常重要的技术,它们可以将对象的状态保存为一种持久化的格式,以便于存储或在网络上传输。本文将深入探讨如何使用XML进行序列化与反序列化,并...
3. **序列化和反序列化方法**:为了配合Unity的序列化流程,`SerializableDictionary`类需要包含特殊的属性或方法,比如`[SerializeField]`标记的私有字段,以及可能的`OnBeforeSerialize()`和`OnAfterDeserialize()...
ISerializable接口是.NET Framework提供的一种自定义序列化的方式,允许开发者精确控制对象的序列化和反序列化过程。下面我们将详细讲解如何在C#中实现自定义序列化,特别是通过ISerializable接口。 首先,让我们看...
在.NET框架中,反射、泛型和序列化是三个核心概念,它们对于开发高效、灵活且可维护的应用程序至关重要。让我们深入探讨这三个概念及其在.NET编程中的应用。 **反射** 反射是.NET框架提供的一种强大机制,它允许在...
本文主要探讨的是二进制序列化,这是一种常见的序列化方式,尤其适用于需要高效、紧凑地保存和恢复数据的情况。我们将通过一个WinForm程序的案例来深入理解这一过程。 案例中,我们有一个简单的日记应用,它使用...
C#提供了System.Runtime.Serialization命名空间,其中的BinaryFormatter、XmlSerializer等类可以实现对象的序列化和反序列化。序列化不仅方便了数据的保存,还能实现跨应用程序域的数据传输。 接着,**泛型集合**在...
本篇文章将详细讲解如何在C#中实现 `DataTable` 的序列化和反序列化。 首先,让我们了解什么是序列化和反序列化。序列化是指将对象的状态转化为可持久化的格式,如JSON、XML等,以便存储或在网络中传输。反序列化则...
Objective-C的实体类对象序列化和反序列化是数据处理的关键环节,它涉及到如何将内存中的对象转换为可存储或传输的数据格式,如JSON(JavaScript Object Notation),以及如何将接收到的JSON数据还原为对象。...
6. **集合序列化**:`List<T>`、`Dictionary, TValue>`等集合类型可以自动序列化,但也可以使用`[XmlArray]`和`[XmlArrayItem]`进行自定义。 总之,XML文件序列化是软件开发中常用的数据持久化手段,它使得对象的...
请注意,为了确保兼容性和数据一致性,你应该始终记录序列化和反序列化时使用的类版本和格式。此外,对于敏感数据,应该考虑加密序列化的结果,以提高安全性。 总的来说,通过理解C#中的序列化机制,我们可以有效地...
- **Hashtable**:`Hashtable`是Java的一个类,实现了`Map`接口并继承自`Dictionary`类,同时也实现了`Serializable`接口,这意味着它可以被序列化和反序列化。与`HashMap`类似,`Hashtable`用于存储键值对,但它是...
在“序列化与集合窗体应用”项目中,可能涵盖了如何将集合对象(如ArrayList或Dictionary)进行序列化,然后保存到文件或数据库中。这在处理大量数据时非常有用,因为可以直接读取序列化的数据,避免了重新计算或...
用于在自定义ScriptableObject和MonoBehaviour类中添加有序词典的库,只要键和值类型是可序列化的,就可以由Unity进行序列化。 $ yarn add rotorz/unity3d-ordered-dictionary 该软件包与工具兼容。 有关将程序...