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());