在C#中获取列表中重复项的索引可以通过以下步骤实现:
以下是一个示例代码:
using System;
using System.Collections.Generic;
class Program
{
static List<int> GetDuplicateIndexes(List<int> list)
{
List<int> duplicateIndexes = new List<int>();
Dictionary<int, int> indexDict = new Dictionary<int, int>();
for (int i = 0; i < list.Count; i++)
{
if (indexDict.ContainsKey(list[i]))
{
duplicateIndexes.Add(indexDict[list[i]]);
duplicateIndexes.Add(i);
}
else
{
indexDict.Add(list[i], i);
}
}
return duplicateIndexes;
}
static void Main(string[] args)
{
List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 2, 6, 7, 3, 8, 9, 4 };
List<int> duplicateIndexes = GetDuplicateIndexes(numbers);
Console.WriteLine("Duplicate indexes:");
foreach (int index in duplicateIndexes)
{
Console.WriteLine(index);
}
}
}
这段代码中,我们创建了一个名为GetDuplicateIndexes
的方法,该方法接受一个整数列表作为参数,并返回一个存储重复项索引的列表。我们使用一个Dictionary对象来存储列表中每个元素的索引,然后遍历列表中的每个元素,判断其是否已经存在于Dictionary中。如果存在,则将其索引添加到重复项索引列表中。最后,我们在Main方法中调用GetDuplicateIndexes
方法,并打印出重复项的索引。
请注意,这个示例代码中没有提及任何特定的云计算品牌商或相关产品,因为问题的内容与云计算领域无关。
领取专属 10元无门槛券
手把手带您无忧上云