2016-12-09 35 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