Список интерфейса Linq, интерфейс имеет член массива строк, мне нужен оператор linq, который объединяет все строки из массива объектов - PullRequest
0 голосов
/ 28 мая 2020

У меня есть массив интерфейсов в C#, в интерфейсе есть член, список строк, я пытаюсь сложить все строки вместе из массива элементов интерфейса, у которого есть свойство array of струны.

IPackingFlowEvaluation[]


public interface IPackingFlowEvaluation
{
    IPackingFlow PackingFlow { get; }

    int Priority { get; }

    bool CanUse { get; }

    string[] Reasons { get; }
}

Мне нужен оператор linq, который объединит все строки массива члена интерфейса в один большой список строк. Гигантский список причин, содержащий все причины из массива интерфейсов, у которого есть сам член, имеющий массив строк.

Ответы [ 2 ]

0 голосов
/ 28 мая 2020

Для этого вам нужно использовать SelectMany().

var allReasons = array.SelectMany(i => i.Reasons.ToList()).ToList();
0 голосов
/ 28 мая 2020

звучит так, как будто вы после SelectMany

var reasons = source.SelectMany(e => e.Reasons).ToList();

, где source относится к IPackingFlowEvaluation[].

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