using System;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
Dictionary items = new Dictionary {{1, "Item 1"}, {2, "Item 2"}, {3, "Item 3"}};
foreach (var item in items)
{
Console.WriteLine($"Key: {item.Key}; Value: {item.Value}");
}
}
}
< /code>
Выход: < /p>
Ключ: 1; Значение: элемент 1 < /p>
Ключ: 2; Значение: элемент 2 < /p>
Ключ: 3; Значение: пункт 3 < /p>
< /blockquote>
to Test: dotnetfiddle.net < /p>
Более того, если использует список < /code>: < /p>
версия 1 < /h4>
Выход: < /p>
Ключ: 1; Значение: элемент 1 < /p>
Ключ: 2; Значение: элемент 2 < /p>
Ключ: 3; Значение: пункт 3
to Test: dotnetfiddle.net
Я намеренно указываю ключ [/code] и value , чтобы легко получить определения элементов, основанные на их именах экземпляров. PrettyPrint-Override ">[code]using System;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
List items = new List { (1, "Item 1"), (2, "Item 2"), (3, "Item 3") };
foreach (var (key, value) in items)
{
Console.WriteLine($"Key: {key}; Value: {value}");
}
}
}
< /code>
Выход: < /p>
Ключ: 1; Значение: элемент 1 < /p>
Ключ: 2; Значение: элемент 2 < /p>
Ключ: 3; Значение: элемент 3
Имя экземпляра (то есть, ключ [/code] и значение ) определено в цикле Foreach вместо этого.
topt: dotnetfiddle.net
Object) [] :
версия 1
Код: Выделить всё
using System;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
(int key, object value)[] items = new (int, object)[] { (1, "Item 1"), (2, "Item 2"), (3, "Item 3") };
foreach (var item in items)
{
Console.WriteLine($"Key: {item.key}; Value: {item.value}");
}
}
}
< /code>
Выход: < /p>
Ключ: 1; Значение: элемент 1 < /p>
Ключ: 2; Значение: элемент 2 < /p>
Ключ: 3; Значение: пункт 3
to Test: dotnetfiddle.net
Опять же, я намеренно указываю ключ
Код: Выделить всё
using System;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
(int, object)[] items = new (int, object)[] { (1, "Item 1"), (2, "Item 2"), (3, "Item 3") };
foreach (var (key, value) in items)
{
Console.WriteLine($"Key: {key}; Value: {value}");
}
}
}
< /code>
Выход: < /p>
Ключ: 1; Значение: элемент 1 < /p>
Ключ: 2; Значение: элемент 2 < /p>
Ключ: 3; Значение: пункт 3
Опять же, имя экземпляра (т.е., ключ
упрощенный , но я предоставил вероятный словесный способ продемонстрировать реализацию стандартной . Однако, пожалуйста, дайте мне знать, если я ошибаюсь.
Хотя я иногда предпочитаю использовать словарь , я также был обеспокоен тем, что и не дубликат мой, просто потому, что я также сравниваю (T1, T2) [] < /code> между двумя связанными типами. С другой стороны, мой контекст сосредоточен на его использовании и воздействии.
Подробнее здесь: https://stackoverflow.com/questions/797 ... t-vs-t1-t2