Словарь против List против (T1, T2) [] [закрыто]C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Словарь против List против (T1, T2) [] [закрыто]

Сообщение Anonymous »

С моей стороны, я иногда предпочитал использовать словарь , если мне нужно было иметь прямое управление ключом и его соответствующим значением, например (.net 9):
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 
Опять же, я намеренно указываю ключ 
и value , чтобы легко извлечь определения элементов, основанные на их именах экземпляра. PrettyPrint-Override ">

Код: Выделить всё

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 

Опять же, имя экземпляра (т.е., ключ 
и значение ) определяется в цикле foreach вместо этого.
упрощенный , но я предоставил вероятный словесный способ продемонстрировать реализацию стандартной . Однако, пожалуйста, дайте мне знать, если я ошибаюсь.

Хотя я иногда предпочитаю использовать словарь , я также был обеспокоен тем, что и не дубликат мой, просто потому, что я также сравниваю (T1, T2) [] < /code> между двумя связанными типами. С другой стороны, мой контекст сосредоточен на его использовании и воздействии.

Подробнее здесь: https://stackoverflow.com/questions/797 ... t-vs-t1-t2
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Словарь и изменяемые ключи
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • ILookup и IGrouping
    Anonymous » » в форуме C#
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Как работает процесс хеширования в Dictionary?
    Anonymous » » в форуме C#
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • ConcurrentDictionary — Как эффективно «получить N элементов, начиная с ключа K»?
    Anonymous » » в форуме C#
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Вызов ToList () на concurrentDictionary , добавляя элементы
    Anonymous » » в форуме C#
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»