2016-12-09 57 views
-1

列表框中添加的重複項目很少如何用唯一名稱重命名重複項目?修改列表框中的重複項目

例如列表框是有項目

Apple 
Orange 
mango 
Apple 
Apple 

如何將項目名稱重命名內部列表框,使輸出應該

Apple 
Orange 
mango 
Apple#1 
Apple#2 
+0

你是如何在添加項目到列表第一名?一次一個或全部一起去? – ChrisF

+0

一次性添加所有項目。 – kumar

回答

0
//// convert listBox items to string 
var listBoxItems = listBox.Items.Cast<String>().ToList(); 

/// find duplicate Items 
var duplicateKeys = listBoxItems.GroupBy(x => x) 
         .Where(group => group.Count() > 1) 
         .Select(c => new { value = c.Key, count = c.Count() }); 

//// generate duplicate item +index number 
foreach (var duplicateItem in duplicateKeys) 
{ 
    for (int i = 0; i < duplicateItem.count; i++) 
    { 
     if (listBoxItems.Contains(duplicateItem.value)) 
     { 
     listBoxItems.Remove(duplicateItem.value); 
     } 

     if (i == 0) 
     { 
     listBoxItems.Add(duplicateItem.value); 
     } 
     else 
     { 
     listBoxItems.Add(duplicateItem.value + i); 
     } 
    } 
} 
+0

'+ index number',是不是'(duplicateItem.value + i)'? – FakeCaleb

+0

是的。錯字錯誤 – esiprogrammer

+0

是否要修改列表框中的現有項目,否則我必須在執行上述代碼後再次添加項目?我認爲輸出結果就像apple1而不是蘋果1。 – kumar