gpt4 book ai didi

c# - 使用键/值解析行的 LINQ 方法

转载 作者:太空宇宙 更新时间:2023-11-03 20:14:39 25 4
gpt4 key购买 nike

我有以下字符串

 MyKey1=MyVal1
MyKey2=MyVal2
MyKey3=MyVal3
MyKey3=MyVal3

所以首先,需要拆分成行,然后我需要将每一行拆分为 ' = ' 从该行获取键和值的字符。结果,我想要的是 List<KeyValuePair<string, string>> (为什么不是 Dictionary?=> 列表中可能有重复的键),所以我不能使用 .ToDictionary()扩展名。

我非常坚持以下几点:

List<KeyValuePair<string, string>> fields =
(from lines in Regex.Split(input, @"\r?\n|\r", RegexOptions.None)
where !String.IsNullOrWhiteSpace(lines)
.Select(x => x.Split(new [] { '='}, 2, StringSplitOptions.RemoveEmptyEntries))
.ToList()

--> select new KeyValuePair? Or with 'let' for splitting by '='?
what about exception handling (e.g. ignoring empty values)

最佳答案

如果您担心重复键,可以使用 ILookup相反:

var fields =
(from line in Regex.Split(input, @"\r?\n|\r", RegexOptions.None)
select line.Split(new [] { '=' }, 2))
.ToLookup(x => x[0], x => x[1]);

var items = fields["MyKey3"]; // [ "MyVal3", "MyVal3" ]

关于c# - 使用键/值解析行的 LINQ 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17676913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com