如何序列化IDictionary

Joe*_*vis 5 c#

有没有人知道一种创造性的方法来序列化实现IDictionary的对象?......没有实施新课程?

dtb*_*dtb 13

如果实现的类IDictionary是可序列化的(如Dictionary<K,V>)K并且V是可序列化的,那么标准的.NET序列化机制应该可行.

如果实现的类IDictionary是可序列化的K,V那么您可以使用两个数组分别序列化键和关联值:

// before serialization
IDictionary<string,int> dict;
string[] keys = dict.Keys.ToArray();
int[] values = dict.Keys.Select(key => dict[key]).ToArray();

// after deserialization
IDictionary<string,int> dict = new Dictionary<string,int>();
for (int i = 0; i < keys.Length; i++)
    dict.Add(keys[i], values[i]);
Run Code Online (Sandbox Code Playgroud)