c#中 一个含有字符串的数组,例如:["a","b","a","c","b","d","a"],需要得到一个新数组 ["a1","b1","a2","c","b2","d","a3"]
时间: 2023-12-21 18:31:20 浏览: 133
你可以使用以下代码来实现你的需求:
```csharp
string[] array = { "a", "b", "a", "c", "b", "d", "a" };
List<string> newArray = new List<string>();
Dictionary<string, int> countDict = new Dictionary<string, int>();
foreach (string item in array)
{
if (countDict.ContainsKey(item))
{
countDict[item]++;
newArray.Add(item + countDict[item]);
}
else
{
countDict[item] = 1;
newArray.Add(item + countDict[item]);
}
}
string[] resultArray = newArray.ToArray();
```
这段代码首先创建了一个空的`List<string>`来存储新的数组。然后,使用一个`Dictionary<string, int>`来记录每个字符串出现的次数。接下来,遍历原始数组中的每个元素,如果该元素已经在字典中存在,则将其对应的计数加1,并将带有计数的字符串添加到新数组中;如果该元素在字典中不存在,则将其添加到字典中,并将带有计数的字符串添加到新数组中。最后,将新数组转换为字符串数组并返回。
阅读全文