当前位置: 首页 > 编程语言 > C#

设置文件共享中的键值存储

时间:2023-04-11 00:06:54 C#

设置文件中的键值存储我正在用C#开发一个应用程序,需要在设置文件中存储键值对。我尝试在设置文件中保存字典数组列表,但失败了。这就是我所做的:if(Settings1.Default.arraylst==null)}字典dd=newDictionary();dd.Add("1","1");Settings1.Default.arraylst.Add(dd);Settings1.Default.Save();当我重新启动应用程序时,arrarylist变为空。提前致谢……这是因为通用字典由于某些原因不可顺序化,请尝试使用此字典usingSystem;使用System.Collections.Generic;使用系统文本;使用System.Xml.Serialization;[XmlRoot("dictionary")]publicclassSerializableDictionary:Dictionary,IXmlSerializable{#regionIXmlSerializableMemberspublicSystem.Xml.Schema.XmlSchemaGetSchema(){返回空;}publicvoidReadXml(System.Xml.XmlReaderreader){XmlSerializerkeySerializer=newXmlSerializer(typeof(TKey));XmlSerializervalueSerializer=newXmlSerializer(typeof(TValue));boolwasEmpty=reader.IsEmptyElement;读者。阅读();如果(wasEmpty)返回;while(reader.NodeType!=System.Xml.XmlNodeType.EndElement){reader.ReadStartElement("item");reader.ReadStartElement("key");TKeykey=(TKey)keySerializer.Deserialize(阅读器);reader.ReadEndElement();reader.ReadStartElement("值??");TValue值=(TValue)valueSerializer.Deserialize(阅读器);reader.ReadEndElement();这个。添加(键,值);读者.ReadEndEl精神();阅读器.MoveToContent();}reader.ReadEndElement();}publicvoidWriteXml(System.Xml.XmlWriterwriter){XmlSerializerkeySerializer=newXmlSerializer(typeof(TKey));XmlSerializervalueSerializer=newXmlSerializer(typeof(TValue));foreach(this.Keys中的TKey键){writer.WriteStartElement("item");writer.WriteStartElement("key");keySerializer.Serialize(writer,key);writer.WriteEndElement();writer.WriteStartElement("值");TValuevalue=this[key];valueSerializer.Serialize(writer,value);writer.WriteEndElement();writer.WriteEndElement();}}#endregion}我在这里找到了XMLSerializableGenericDictionaryC#SettingsfilesarejustXMLfiles,onlyserializableclassesaresaved,otherwisedatawrittenoutwhilesaveing不幸的是,字典是不可序列化的。一种解决方案是构建自己的包装器以正确序列化字典。此链接将使您了解这涉及的内容。另一种解决方案是将键/值对写成一个长字符串数组,并在重新读取时对其进行解析。//在你的设置中定义一个string[]ListkeyValues=newList();foreach(dd中的KeyValuePair对){keyValues.Add(pair.Key);keyValues.Add(对.Value);}Settings1.Default.KeyValuePairs=keyValues.ToArray();然后在以类似方式加载时读回该对。以上就是C#学习教程:在文件中设置key-value存储分享全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: