c#-4.0 - 从C#查找中获取值(value)

标签 c#-4.0 ienumerable lookup

我对如何从C#查找结构中获取值(value)感兴趣。

例子:

var myLookup = (Lookup<string, int>)data.Rows.Cast<DataRow>().ToLookup(row => row["Name"], row => row["Id"]);

foreach (var myLookupItem in myLookup)
                    {
                        Debug.WriteLine("Name: " + myLookupItem.Key);
                        Debug.WriteLine("Id: " + myLookupItem.ToString());
                    }

问题是
myLookupItem.ToString()

不显示实际值,而是仅显示System.Linq.Lookup2[System.String,System.Int32]

稍后,我应该使用lambda获取查找值:
 int lookupValue = myLookup.Where(x => x.Key == "Test").Select(x => x).FirstOrDefault());

但这也与上面相同。

请告知如何实现此目标。

提前致谢。

最佳答案

那是因为查找项是一个集合。您可以看到查找的每个值,如下所示:

foreach (var myLookupItem in myLookup)
{
    Debug.WriteLine("Key: " + myLookupItem.Key);
    foreach (var myLookupValue in myLookupItem)
    {
        Debug.WriteLine("Value: " + myLookupValue);
    }
}

关于c#-4.0 - 从C#查找中获取值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8489476/

相关文章:

c# - 不受约束的旋律错误

c# - 如何指定仅在出现平局时才使用 Linq ThenBy 子句?

c# - 到 ToList() 还是不到 ToList()?

c# - 快速查找字典文本文件中是否存在单词

R:使用日期和 ID 按多个条件合并 2 个数据框

c# - 如何运行一组任务,将它们全部暂停,更新数据表,然后允许任务继续使用更新后的数据表?

c# - 在字符串 [] 中返回用户所属的所有 Active Directory 组的列表

.net - 在类库项目中缺少 "System.ServiceModel"

C# : Building java-style enums with inheritance

EXCEL:在工作表的第一行查找今天的日期