我正在尝试防止列表中的名称重复,但到目前为止还算不上运气。
我有一个条目列表,每个条目都有一个名称(例如,条目:“ 文件”,“ file1 ”,“ someFile ”,“ 另一个文件”)。每当我创建新条目时,都会将其添加到条目列表中。但是我不想添加相同名称的新条目。
我有一个刚创建的文件(例如名称:“ file “)。
如何找到所有重复的名称,并在末尾添加“ file2 ”?
很抱歉,这个问题有点含糊。
我曾尝试使用 LINQ 和 Regex ,但是我对这些东西还是陌生的,所以不确定自己在做什么。
答案 0 :(得分:0)
根据您所发布的内容,使用if-else条件的简单程序可以解决您的问题:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
public class Program
{
public static void Main()
{
string[] entries = new []{"file", "file1", "someFile", "anotherFile", "file", "someFile", "file"};
List<string> curatedEntries = new List<string>();
foreach(string e in entries)
{
int index = 0;
string entry = e;
Check:
if(CheckExists(curatedEntries, entry)){
index++;
entry = e + index;
goto Check;
}
curatedEntries.Add(entry);
}
curatedEntries.ForEach(x=>Console.WriteLine(x));
}
public static bool CheckExists(List<string> lst,string e)
{
return lst.Any(x=>x.Equals(e));
}
}