【发布时间】:2021-06-05 23:18:55
【问题描述】:
我有以下KeyValuePair Dictionary<string,string> 格式。
因为它总是被解析为一对,所以foreach 不是必需的。但是,我无法在不导致语法错误的情况下删除它。
请问foreach 是否可以删除,也可以转换为LINQ 语法?
string key = "";
string value = "";
foreach (KeyValuePair<string, string> kvp in pairing)
{
Console.WriteLine("Key = {0}, Value = {1}",
kvp.Key, kvp.Value);
}
谢谢。
【问题讨论】:
-
困惑:你的字典里只有一个KVP?那你为什么要一本字典呢?
-
"因为它总是被解析为一对,所以
foreach不是必需的。" - 你这是什么意思?您需要一个foreach来实际枚举任何IEnumerable<T>- 只是Linq 提供了一些方便的方法,例如ToList、ToArray和ToDictionary,它们隐藏了foreach- 但它仍然存在。 -
另外,您实际上想要完成什么?
-
我有一个
List和一个Dictionary(List<Dictionary<string, string>>),每个Dictionary只包含一对。我想我错误地使用了这个功能:( -
由于每个字典中只有一个配对,我想从字典中取出
Key和Value并分配给一个变量。
标签: c# linq dictionary foreach