항목은 모든 목록에있을 수 있습니다. 하지만 모든 아이템은 한 번만. 다른 목록 중 하나에 같은 (또는 유사한) 항목이 없어야합니다.목록의 7 개의 SortedLists 중 하나에서 익명 객체를 찾아 제거하는 방법은 무엇입니까?
여기 내 수업이 있습니다. 항목을 제거하려면
class Calendar
{
public List<SortedList<string, Item>> list;
public Item()
{
list = new List<SortedList<string, Item>>(); //List of Week
list.Add(new SortedList<string, Item>()); //Monday
list.Add(new SortedList<string, Item>()); //Tuesday
list.Add(new SortedList<string, Item>()); //Wednesday
list.Add(new SortedList<string, Item>()); //Thursday
list.Add(new SortedList<string, Item>()); //Friday
list.Add(new SortedList<string, Item>()); //Saturday
list.Add(new SortedList<string, Item>()); //Sunday
}
}
내가이 같은 시도 :
public void RemoveItem(string key)
{
foreach (SortedList<string, Item> item in list)
{
if (item.Keys.Contains(key))
{
item.Remove(key);
}
}
}
을하지만 분명히 작동하지 않습니다.
다음은 항목을 추가하는 방법입니다. 그러나 그것은 명백해야한다 :
public void AddItem(string Day, Item i)
{
string s = i.Title
switch (Tag)
{
case "Monday":
list[0].Add(s, i);
break;
case "Tuesday":
list[1].Add(s, i);
break;
case "Wednesday":
list[2].Add(s, i);
break;
case "Thursday":
list[3].Add(s, i);
break;
case "Friday":
list[4].Add(s, i);
break;
case "Saturday":
list[5].Add(s, i);
break;
case "Sunday":
list[6].Add(s, i);
break;
default:
list[0].Add(s, i);
break;
}
}
은 처음에는 List<List<Item>>
을 사용하지만 난 SortedList 내 목적을 위해 쉽게 처리 할 수 있음을 알아 냈다.
for 루프를 대신 사용해 보셨습니까? –
예. 어느 쪽도 일하지 않았다. –
두 번째 목록 인'foreach (list in var) {list.RemoveWhere (x => x.key == key);}'를 예제로 열거하고있는 것을 보지 못했습니다 ... –