2015-10-02 2 views
0

Я использую C# 4.5 на моей winform. У меня есть словарь с Кортежем именем ParamList, который использует это:Как удалить элемент из словаря, который использует Tuple

new Dictionary<Tuple<string, string>, string>(); 

я в состоянии перебрать ParamList разместить элементы в моей ComboBox. То, что я хочу сделать, - это перемещать элементы вверх или вниз с помощью события нажатия кнопки или вообще удалить элемент с помощью другого нажатия кнопки. Я не могу понять, как это сделать. Благодарю.

+0

Символ '' Tuple', как key' ???? + _ + – kevintjuh93

+1

Вы не можете «перемещать» элементы внутри словаря - он не упорядочен. Удаление элемента очень просто, но упорядочение - нет. –

+4

@ kevintjuh93 @ Да, почему бы и нет? Это вполне разумно. –

ответ

1

Используйте кортеже, чтобы удалить

var dict = new Dictionary<Tuple<string, string>, string>(); 
dict.Add(new Tuple<string, string>("a", "b"), "c"); 
dict.Remove(new Tuple<string, string>("a", "b")); 

System.Diagnostics.Debug.Assert(dict.Count == 0); 
+0

Обратите внимание, что вы должны обычно использовать 'Tuple.Create' для создания кортежей, поскольку он позволяет выводить общие аргументы. В этом ответе также нет упоминания о том, что он хочет изменить порядок пунктов. – Servy

+0

Eser, это работает для удаления. Что я должен делать для перемещения элементов при событии нажатия кнопки? – user1778158

+0

Я только что переместил элементы в свой ComboBox, и это позаботилось обо всем. благодаря – user1778158

Смежные вопросы