C#在string集合中找到相同的并且返回序号
时间: 2024-09-25 15:17:33 浏览: 22
在C#中,如果你想要在一个字符串集合中查找是否存在相同的元素,并获取它们第一次出现的索引,你可以使用`List<string>`类配合`IndexOf()`方法。假设你有一个名为`strings`的列表,步骤如下:
```csharp
List<string> strings = new List<string>(); // 假设这里已填充了字符串
// 定义一个新的Dictionary用于存储每个字符串及其索引
Dictionary<string, int> stringIndexes = new Dictionary<string, int>();
foreach (int i = 0; i < strings.Count; i++)
{
if (!stringIndexes.ContainsKey(strings[i])) // 如果字符串还没出现过
{
stringIndexes.Add(strings[i], i); // 添加新值(字符串和它的索引)
}
else
{
// 如果字符串已经存在,则获取其现有索引并继续循环
int existingIndex = stringIndexes[strings[i]];
Console.WriteLine($"字符串'{strings[i]}'的重复索引为:{existingIndex}");
}
}
```
这个代码会遍历列表,如果遇到新的字符串就添加到字典中,如果遇到已存在的字符串则打印出已知的索引。