0
如何建立密钥对列表(INT键,字符串值?),并刷新后,我得到新的XML:建设和刷新静态列表
List<KvPair> source = new List<KvPair>
{
new KvPair {Key = null, Value = "Null"},
new KvPair {Key = 0, Value = "No"},
new KvPair {Key = 1, Value = "Yes"}
};
列表取决于从XML。如果我将刷新列表,并且会从XML只得到2个值:NULL,0,那么列表应该只有2个元素:
new KvPair {Key = null, Value = "Null"},
new KvPair {Key = 1, Value = "Yes"}
我应该使用静态列表? 比这更好的方式:
private List<KvPair> RebuildList(object extendData) //extendedData is xml
{
List<KvPair> source = new List<KvPair>
{
new KvPair {Key = null, Value = "Null"},
new KvPair {Key = 0, Value = "No"},
new KvPair {Key = 1, Value = "Yes"}
};
List<int> target = new List<int>();
var data = XDocument.Parse(extendData.ToString()).Descendants("elem");
int tempVal;
foreach (var elem in data)
{
var key = Int32.TryParse(elem.Attribute("Value").Value,
out tempVal) ? tempVal : null;
target.Add(key)
}
source.RemoveAll(x => !target.Contains(x));
return new List<KvPair>(source);
}