Многомерные массивы c# с разными типами

400
03 сентября 2017, 03:42

В php можно создать многомерный массив и добавить в него ключ со значением без указания типа, а как такое сделать в c#?

$array['key1'] = true;
$array['key2'] = false;
$array['key3'][0] = [1, 2, 3];
Answer 1

дополнительная информация : O примерах есть проблема приведение к другим типом 'Boxing-Unboxing'.

Используйте 'Jagged Arrays'.

object[][] obj = new object[3][];
obj [0] = new bool[] { true,false };
obj [1] = new string[] { "test","test2","test3"};
obj [2] = new int[] { 1,2,3 };

или можно использовать 'Generic Collections'.

Dictionary<string,object[]> obj = new Dictionary<string,object[]>();
obj.Add("key1",new object[] { 1,true,"test1"});
obj["key1"][0] = 15;
Answer 2

Хотя это и возможно, так делать не надо:

https://ideone.com/1m4fwV

using System;
using System.Collections.Generic;
public class Test
{
  public static void Main()
  {
    var a = new Dictionary<string, dynamic>();
    a["key1"] = true;
    a["key2"] = false;
    a["key3"] = new List<dynamic> { new dynamic [] {1, 2, 3} };
    Console.WriteLine(a["key3"][0][1]);
  }
}
READ ALSO
Ошибка в PDO [SQLSTATE[HY000] [1045]&hellip;]

Ошибка в PDO [SQLSTATE[HY000] [1045]…]

Хочу создать Пользователя путем записи данных в БД, но вызывается ошибка:

416
Есть более мощный аналог imagick

Есть более мощный аналог imagick

Доброго времени сутокПодскажите существует ли более мощный аналог imagick? В imagick не все устраивает, во первых не могу задать цвет если мне нужно...

335
Как убрать декорацию функции?

Как убрать декорацию функции?

Есть библиотека с функцией которая возвращает контейнерПримерно такая:

403
Зависает таймер

Зависает таймер

Написал таймер, который запускается при нажатии кнопкуПроблема такого, что при нажатии, программа просто зависает и ничего дальше не работает

436