C# custom add in a List

I would use a HashSet<string> in this case:

var files = new HashSet<string> { "file0", "file1", "file2", "file3" };
string originalFile = "file0";
string file = originalFile;
int counter = 0;
while (!files.Add(file))
{
    file = $"{originalFile}({++counter})";
}

If you have to use a list and the result should also be one, you can still use my set approach. Just initialize it with your list and the result list you’ll get with files.ToList().

Leave a Comment