Как я могу преобразовать список объекта в массив списка объектов с каждым индексом массива, имеющим 2 счета? - PullRequest
0 голосов
/ 22 апреля 2020

Я надеюсь, что все преуспевают в этом кризисе.

Хорошо, вот мой список объектов с объектом, содержащим имя и значение:

enter image description here

Что мне нравится делать с этим списком объекта, так это то, что мне нужно, чтобы он преобразовывался в массив списка объектов с числом массивов каждого индекса 2. Например

Когда мы делим общее количество списков на 2, тогда оно равно 8. Поэтому мой массив будет иметь 4 индекса со списком, содержащим объект. Но для каждого индекса массива счетчик списка будет равен 2 на индекс.

Учитывая приведенный выше пример для первого индекса:

Array[1 first index (rest will be same)] => List[Count = 2 of object] => {object containg the name and value}

То, что я пробовал до сих пор, так это отделяя ключ и значение и перебирая счетчик 2 с внутренним l oop и некоторыми другими методами, но не могу заставить его работать для того, что мне нужно. Буду признателен за вашу помощь.

1 Ответ

2 голосов
/ 22 апреля 2020

Вот пример кода, который должен помочь вам начать, но вам нужно проверить, что начальный список имеет четное число:

// This is a representation your current list, the actual one is slightly different
var list = new List<AdditionalPropertyJsonModel>
{
    new AdditionalPropertyJsonModel {name = "one", value = "two"},
    new AdditionalPropertyJsonModel {name = "three", value = "four"},
    new AdditionalPropertyJsonModel {name = "five", value = "six"},
    new AdditionalPropertyJsonModel {name = "seven", value = "eight"},
    new AdditionalPropertyJsonModel {name = "nine", value = "ten"},
    new AdditionalPropertyJsonModel {name = "eleven", value = "twelve"},
};

// Create an array that's half the size of the list
var myArray = new List<AdditionalPropertyJsonModel>[list.Count / 2];

// Populate the array so that each item is a list of two items from the original list
for (var i = 0; i < myArray.Length; i ++)
{
    myArray[i] = new List<AdditionalPropertyJsonModel>
    {
        // Since each index of the array represents two items from the list, we
        // multiply the array index by 2 on each iteration to get the list indexes
        // of the values we want to add to this two-item list for the array index
        list[i * 2],
        list[i * 2 + 1]
    };
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...