Массив в C#, код вместо индекса

208
15 сентября 2017, 18:17

В php есть нечто такое:

$array = array('name'=>"Vasia", 'lastName'=>"Pupkin", 'Hello World');

И можно обращаться не по индексу, а по коду что-ли. Есть ли способ делать так же в C#? Или для этого есть dictionary?

Answer 1

Для этого в C# используется Dictionary

var dictionary = new Dictionary<string, string> //В dictionary можно использовать инициализацию
{
    { "name", "Vasya"},
    { "lastName", "pupkin" }
};
dictionary.Add("middleName", "Ivanovich"); //В dictionary можно добавлять пары ключ -> значение
var name = dictionary["name"]; //По ключу
Answer 2

Вообще подобные задачи в C# решаются при помощи Dictionary. В Вашем примере у последнего значения не было бы (либо ключа, либо значения). Можно конечно же либо ключ либо значение указать как (null) и дело в шляпе, но легких путей мы не ищем :)

Немного костыль, но все же:

var tuple = new Tuple<string[], string[], string>(new string[] { "Name", "Vasya" },
    new string[] { "Lastname", "Pupkin" },
    "Hello, world !");
string value = tuple.Item1;
if (value[0] == "Name")
{
    Console.WriteLine(true);
}
READ ALSO
CefSharp HTML5 tags

CefSharp HTML5 tags

приветИспользую CEfSharp для c wpf и есть проблема с тэгом html5

153
Прочитать длину данных из сокета c#

Прочитать длину данных из сокета c#

У меня есть клиент на c# и сервер на phpС сервера отправляю данные кодом

164