"some key:some value; john:doe;age:234"
我已经写了一个方法,它接受这个字符串并返回一个:
Dictionary<string,string>
如果有人能通过linq做到这一点很奇怪吗?
解决方法 假设分隔符不能出现在键或值中:var dict = str.Split(';') .Select(s => s.Split(':')) .ToDictionary(a => a[0].Trim(),a => a[1].Trim()));
这不是最快的方法,但它是最简单的方法.
你也可以使用正则表达式:
static Readonly Regex parser = new Regex(@"([^:]):([^;])");var dict = parser.GetMatches(str) .Cast<Match>() .ToDictionary(m => m.Groups[0].Value.Trim(),m => m.Groups[0].Value.Trim() );总结
以上是内存溢出为你收集整理的c# – 使用linq从分号分隔的字符串创建字典全部内容,希望文章能够帮你解决c# – 使用linq从分号分隔的字符串创建字典所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)