gpt4 book ai didi

c# - 如何减轻在 C# 中初始化列表字典的痛苦?

转载 作者:太空狗 更新时间:2023-10-29 22:15:25 27 4
gpt4 key购买 nike

我碰巧经常使用这种结构:

Dictionary<string, List<string>> Foo = new Dictionary<string, List<string>>();

这导致了这种代码:

foreach (DataRow dr in ds.Tables[0].Rows)
{
List<string> bar;
if (!Foo.TryGetValue(dr["Key"].ToString(), out desks))
{
bar= new List<string>();
Foo.Add(dr["Key"].ToString(), bar);
}
bar.Add(dr["Value"].ToString());
}

您认为是否值得编写一个自动处理此类事情的自定义 DictionaryOfList 类?

还有其他方法可以延迟初始化这些列表吗?

最佳答案

您可以编写扩展方法 - GetValueOrCreateDefault() 或类似的方法:

foreach (DataRow dr in ds.Tables[0].Rows)
{
Foo.GetValueOrCreateDefault( dr["Key"] ).Add( dr["Value"].ToString() )
}

也许您甚至可以为整个初始化编写一个扩展方法?

关于c# - 如何减轻在 C# 中初始化列表字典的痛苦?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/867785/

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