的名單上有這個功能,它的工作原理,並給出正確的結果:如何唯一的數字追加到字符串
<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」等根據需要,對那些不是唯一的項目,使它們獨一無二。
如何在a)停留在相同的linq語句(相同的代碼行)時,b)不引入循環或c)兩次評估表達式,如在IIF
語句中所需要的,我該如何移除正則表達式?
這不是Getting index of duplicate items in a list in c#的重複,因爲a)我的列表在函數期間沒有改變,b)這個問題沒有被準備好應用代碼示例所回答,在這裏我正在尋找一個特定的修復程序一個特定的代碼行。這些答案不會解決我的問題;他們不適用於此。
你關心維持秩序,或者你可以使用'GroupBy'收集了所有具有相同標識符的那些然後爲每個組中的每個添加一個索引? – 2014-11-01 03:14:31
是的順序很重要。這些是csv文件中的標題,它們必須匹配行值。謝謝 – toddmo 2014-11-01 23:23:15