gpt4 book ai didi

c# - 如何访问 GroupBy 返回的内容

转载 作者:行者123 更新时间:2023-11-30 20:51:40 25 4
gpt4 key购买 nike

一个简单得可笑的问题,我一辈子都弄不明白。我如何“获取”GroupBy 返回的值?

举个简单的例子。我想打印出出现不止一次的第一个值。查看监 window 口中的输出(下图),它有点表明 list3[0][0] 可能会达到“一”。但它给了我一个错误。

请注意,我正在寻找通用解决方案 - 即了解 GroupBy 返回的内容。

此外,我想使用监 window 口来帮助我自己弄清楚如何访问变量(因为我发现很多 MSDN 引用资料都难以理解)- 这可能吗?

var list1 = new List<String>() {
"one", "two", "three", "one", "two"};

var list3 = list1
.GroupBy(x => x)
.Where(x => x.Count() > 1)
.ToList();

Console.WriteLine("list3[0][0]=" + list3[0][0]); //error

enter image description here

最佳答案

虽然 VS 调试器向您显示一个“索引”数字,因为基础类型是一个集合,但分组显示为 IGrouping<T>没有索引器。如果您只是想要第一组中的第一项,请执行以下操作:

Console.WriteLine("list3[0][0] =" + list3.First().First()); 

如果您想查看所有 项目是否在分组中循环:

int gi = 0, ii = 0;
foreach(var g in list3)
{
foreach(item i in g)
{
Console.WriteLine("list3[{0}][{1}] = {2}", gi, ii, i);
ii++;
}
gi++;
}

关于c# - 如何访问 GroupBy 返回的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21463100/

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