gpt4 book ai didi

c# - 在 ToDictionary 调用中捕获异常

转载 作者:行者123 更新时间:2023-12-05 01:03:13 25 4
gpt4 key购买 nike

我有一个简单的 LINQ 语句,它拆分一个字符串,然后将值扔到字典中。问题是字典很少已经具有相同值的现有键,因此抛出异常并且“dict”的值保持为空。

dict = lines.Select(l => l.Split('|')).ToDictionary(d => d[0], d => d[1]);

有没有办法修改 LINQ 语句以在插入之前检查字典是否已经具有键或捕获异常但继续将其余值写入字典?我尝试在该行周围放置一个 try block ,它捕获了异常,但没有添加任何元素,因此字典仍然为空。

最佳答案

不要使用 ToDictionary 而是使用常规的 foreach 并测试键。

将查询从转换中拆分为字典。

var splits = lines.Select(l => l.Split('|'));

var dict = new Dictionary<string,string>();
foreach(var item in splits)
{
if(!dict.ContainsKey(item[0]))
dict.Add(item[0], item[1]);
}

关于c# - 在 ToDictionary 调用中捕获异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14551118/

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