Преобразовать список в список пар с нулями - PullRequest
0 голосов
/ 16 мая 2018

Из списка с типом Журнал я хочу создать список пар, но если список имеет нечетное число, последний элемент последней пары должен быть нулевым. В моем коде я могу создать список пар, но если список имеет нечетное число, последний элемент не попадает в список.

Модель журнала:

public class Magazine
{
    public string name { get; set; }
    public string Url { get; set; }
    public string date { get; set; }
    public bool IsVisible { get; set; }

}

public class PeoplePair : Tuple<Magazine, Magazine>
{
    public PeoplePair(Magazine item1, Magazine item2)
        : base(item1, item2 ?? CreateEmptyModel()) { }

    private static Magazine CreateEmptyModel()
    {
        return new Magazine { IsVisible = false };
    }
}

Как создать список пар:

Magazines = Enumerable.Range(0, input.Count / 2)
            .Select(i => new PeoplePair(input[i * 2], input[i * 2 + 1])).ToList();

1 Ответ

0 голосов
/ 16 мая 2018

После

Magazines = Enumerable.Range(0, input.Count / 2)
            .Select(i => new PeoplePair(input[i * 2], input[i * 2 + 1])).ToList();

Вы можете проверить, делится ли массив ввода на 2: input.Length % 2 == 0

если нет, вы можете просто добавить Magazines.Add(new PeoplePair(input.Last(), null))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...