У меня есть эта функция, которая работает и дает правильный результат:
<System.Runtime.CompilerServices.Extension()>
Public Function Unique(List As List(Of String)) As List(Of String)
Return List.Select(Function(x, index) x & System.Text.RegularExpressions.Regex.Replace((List.GetRange(0, index).Where(Function(y) y = x).Count + 1).ToString, "\b1\b", String.Empty)).ToList
End Function
Эта функция добавляет "2", "3" и т.д. по мере необходимости к тем элементам, которые не уникальны, чтобы сделать их уникальными.
Как удалить регулярное выражение, когда а) останется в одном и том же выражении linq (одна и та же строка кода), b) без введения цикла или c) дважды оценивая выражение, что необходимо в операторе IIF
Это не дубликат Получение индекса повторяющихся элементов в списке в С#, так как a) мой список не изменяется во время функции и b) этот вопрос на него не ответил, готовый применить пример кода, и здесь я ищу конкретное исправление для конкретной строки кода. Эти ответы не будут исправлять мою проблему; они не применяются здесь.