我是C#的新手,因此正在寻找外行人对此的条款。从本质上讲,我希望做的是转:C#拆分,返回一个数组中的键/值对
键1 = VAL1 |键2 =值2 | ... | keyN = VALN
到哪里,你猜对了一个数据库阵列,KEY1返回val1,KEY2回报val2等。我知道我可以使用分割返回一个字符串,但从那一刻起,我就处于亏损状态。任何帮助将不胜感激!我希望我已经明确了我的意图,但如果您有任何问题,请不要犹豫,问问!
我是C#的新手,因此正在寻找外行人对此的条款。从本质上讲,我希望做的是转:C#拆分,返回一个数组中的键/值对
键1 = VAL1 |键2 =值2 | ... | keyN = VALN
到哪里,你猜对了一个数据库阵列,KEY1返回val1,KEY2回报val2等。我知道我可以使用分割返回一个字符串,但从那一刻起,我就处于亏损状态。任何帮助将不胜感激!我希望我已经明确了我的意图,但如果您有任何问题,请不要犹豫,问问!
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<string, string>
与所需的键/值对。
这帮助我非常。正如我所说的,我是C#的新手,并将我的第一个程序作为附加组件(或多或少)用于我已经使用的程序。谢谢! – Josh 2011-02-13 05:15:15
Dictionary<string,string> results = new Dictionary<string,string>();
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());
@Mark Byers:我假设他的意思是“关联数组”,就像字典一样。 – jason 2011-02-13 02:53:46