C#split,返回数组中的键/值对
我是C#的新手,因此我正在寻找外行人的条款。 基本上,我想做的是转:
键1 = VAL1 |键2 =值2 | … | keyN = VALN
进入一个数据库数组,你猜对了,key1返回val1,key2返回val2等等。我知道我可以使用split返回一个字符串,但从那时起,我不知所措。 任何帮助将不胜感激! 我希望我的意图明确,但如果您有任何疑问,请不要犹豫!
string s = "key1=val1|key2=val2|keyN=valN"; var dict = s.Split('|') .Select(x => x.Split('=')) .ToDictionary(x => x[0], x => x[1]);
现在dict
是一个Dictionary
带有所需的键/值对。
Dictionary results = new Dictionary(); foreach(string kvp in source.split('|')) { results.Add(kvp.split('=')[0], kvp.split('=')[1]); }
可能是Linq这样做的方式。
string s = "key1=val1|key2=val2|keyN=valN"; var dict = s.Split('|') .Select(x => x.Split('=')) .Where(x => x.Length > 1 && !String.IsNullOrEmpty(x[0].Trim()) && !String.IsNullOrEmpty(x[1].Trim())) .ToDictionary(x => x[0].Trim(), x => x[1].Trim());