gpt4 book ai didi

c# - 在 C# 列表中查找重复项索引的最优雅方法是什么

转载 作者:太空狗 更新时间:2023-10-29 17:32:20 26 4
gpt4 key购买 nike

我有一个 List<string>包含重复项,我需要找到每个项的索引。

除了遍历所有项目之外,最优雅、最有效的方法是什么?我在 .NET 4.0 上,所以 LINQ 是一个选项。我进行了大量搜索并连接找到任何东西。

示例数据:

var data = new List<string>{"fname", "lname", "home", "home", "company"}();

我需要获取“home”的索引。

最佳答案

您可以从包含其索引的每个项目创建一个对象,然后对值进行分组并过滤掉包含多个对象的组。现在您有一个分组列表,其中包含包含文本及其原始索引的对象:

var duplicates = data
.Select((t,i) => new { Index = i, Text = t })
.GroupBy(g => g.Text)
.Where(g => g.Count() > 1);

关于c# - 在 C# 列表中查找重复项索引的最优雅方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2718822/

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