在列表框中添加的重复项目很少,如何使用唯一名称重命名重复项目?
例如,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
答案 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);
}
}
}