Может кто-нибудь объяснить с многомерными массивами в C #

Я бы предположил, что это связано с тем, что некоторые из этих библиотек зависят от других библиотек, и если они еще не были связаны, вы получите ошибки компоновщика.

1
задан marc_s 2 March 2019 в 08:45
поделиться

1 ответ

Это было бы простой реализацией для списка списков:

       List<List<int>> myList = new List<List<int>>();

       myList.Add(new List<int>());
       myList.Add(new List<int>());
       myList.Add(new List<int>());


       int list = 0;
       int element = 6;

       myList[0].Add(5);
       myList[list].Add(element);

Если мы проверим мой список, у нас будет

enter image description here [ 1115]

Затем вы можете добавлять или удалять по своему желанию.

Отредактируйте

, если вы хотите использовать имя строки, такое как «Переменная» 1, чтобы получить или установить эти значения, нам нужно немного изменить структуру.

Сначала мы объявляем структуру для хранения значений в паре.

    class Valuegroup
    {
        public int FirsValue { get; set; }
        public int SecondValue { get; set; }
    }

Тогда нам нужна пара значений ключей коллекции, где ключ должен быть уникальным. В .Net мы можем использовать словарную структуру для ее достижения.

Мы объявляем это следующим образом:

        Dictionary<string, List<Valuegroup>> myList = new Dictionary<string, List<Valuegroup>>();

С помощью вышеуказанного объявления мы сможем использовать строку ключей Переменная 1, Переменная 2, Переменная 3 и т. Д. В качестве уникального ключа. Затем мы можем добавить наши значения в виде групп в List<Valuegroup>. Каждый элемент списка будет представлять группу элементов, таких как (2, 4), (5, 1) и т. Д.

Собираем все вместе:

    class Valuegroup
    {
        public int FirsValue { get; set; }
        public int SecondValue { get; set; }
    }
    static void Main(string[] args)
    {
        //Variable 1 = (2, 4) , (5, 1)

        Valuegroup first = new Valuegroup
        {
            FirsValue = 2,
            SecondValue = 4
        };

        Valuegroup second = new Valuegroup
        {
            FirsValue = 5,
            SecondValue = 1
        };

        Dictionary<string, List<Valuegroup>> myList = new Dictionary<string, List<Valuegroup>>();
        myList.Add("Variable 1",new List<Valuegroup>{first,second});

        //retrive a value using a key name eg Variable 1
        List<Valuegroup> temp = new List<Valuegroup>();
        myList.TryGetValue("Variable 1", out temp);

        //do a search using Linq
        var t = myList.Where(x => x.Key == "Variable 2");
    } 

Это показывает, что myList содержит

enter image description here

И здесь вы можете обратите внимание, что получение значения с помощью клавиши "Variable 1" вернет правильный результат. Между тем, поиск "Variable 2" не дал результатов.

enter image description here

0
ответ дан Alex Leo 2 March 2019 в 08:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: