修改列表框中的重复项目

时间:2016-12-09 15:30:12

标签: c# winforms

在列表框中添加的重复项目很少,如何使用唯一名称重命名重复项目?

例如,listbox有项目

<div class="navbar-collapse collapse">
     <ul class="nav navbar-nav">
         <li> <a id="mobileTab">Start</a></li>
         <li> <a id="mobilityActivityTab" href="#">Tasks</a></li>
         <li class="hidden-xs hidden-sm"> <a id="activityTab">Activity</a></li>
         <li class="hidden-xs hidden-sm"> <a id="clientAcctTab">Accounts</a></li>
     </ul>
     @Html.Partial("_LoginPartial")
</div>

如何重命名列表框中的项目名称,以便输出

Apple 
Orange
mango
Apple
Apple

1 个答案:

答案 0 :(得分: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);
       }
    }
 }
相关问题