Linq запрос справки c # - PullRequest
       0

Linq запрос справки c #

0 голосов
/ 24 января 2012

Я пытаюсь написать запрос linq.

Мне нужен мой запрос, чтобы взять двумерный массив (d). Необходимо проверить для каждого массива в пределах d, если первый и последний элементы не пусты, но любой элемент внутри пуст, он удалит пустой элемент.

Пример

{{test,"",test}, {test, test, test,"",test}} = {{test,test}, {test, test, test,test}}

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

Надеюсь, я объяснил это достаточно хорошо.

Ответы [ 2 ]

1 голос
/ 24 января 2012

Может быть

var out = input.Select(x =>
       ((!String.IsNullOrEmpty(x.FirstOrDefault()))
        && (!String.IsNullOrEmpty(x.LastOrDefault())))
           ? x.Where(y => !String.IsNullOrEmpty(y)).ToArray()
           : x).ToArray();

Если вам нужны только IEnumerables, вы можете удалить ToArrays.

1 голос
/ 24 января 2012

Я бы попробовал это:

string test = "test";
var array = {{test,"",test}, {test, test, test,"",test}};

string[] TransformRow(string[] inputRow)
{
  return intputRow.Where(cell => cell != string.Empty).ToArray();
}

var validArray = array.Select(row => TransformRow(row));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...