2016-12-09 2 views
-1

중복 된 항목이 목록 상자에 추가되어 고유 한 이름으로 중복 항목의 이름을 바꾸는 방법은 무엇입니까?목록 상자의 중복 항목 수정

예를 들어 목록 상자는 데 항목이 출력

Apple 
Orange 
mango 
Apple#1 
Apple#2 
+0

당신은 어떻게에서 목록에 항목을 추가를해야하므로 목록 상자 내부의 항목 이름을 이름을 변경하는 방법

Apple Orange mango Apple Apple 

처음? 한 번에 하나씩 또는 모두 한 번에? – 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

'+ 인덱스 번호'에 대해서는'(duplicateItem.value + i)'가 아닐까요? – FakeCaleb

+0

예. 오타 수정 – esiprogrammer

+0

목록 상자에서 기존 항목을 수정하려고합니까? 그렇지 않으면 위 코드를 실행 한 후에 항목을 다시 추가해야합니까? 출력은 사과 # 1 대신 apple1과 비슷하다고 생각합니다. – kumar

관련 문제