João Henrique Braga Ответов: 2

Как найти "" в списке строк?


У меня есть список, который содержит {"12",
" ",
"13",
"10"
};
Я хотел бы удалить "" из моего списка, не только по одному, но и все сразу, если у вас есть более одного термина " "

Что я уже пробовал:

// textInt_FNspt_N1 это мое текстовое поле
List<string> N1 = новый список<string>();
частный статический bool AcharOvazio(строка s)
{
возвращение s.Нижестоящим().Содержит("");
}

частная btn_FNspt_calnspt_Click недействительным(объект отправителя, EventArgs в электронной)
{
N1.Очистить();

string[] ns = textInt_FNspt_N1.Text.Split('\n');

Н1 = Н.Список();
Н1.Метод Removeall(AcharOvazio);
}

2 Ответов

Рейтинг:
20

OriginalGriff

Эхсан находится на правильном пути, но его можно упростить (и исправить на синтаксис), чтобы

N1 = ns.Where(x => !String.IsNullOrWhiteSpace(x)).ToList();


George Swan

разве это не должно быть струной?IsNullOrWhiteSpace?

OriginalGriff

Исправлено - спасибо!
В моем мире пробел-это одно слово ... :смеяться:

João Henrique Braga

Спасибо!!!!!!!!!! <3

OriginalGriff

Всегда пожалуйста!

Рейтинг:
12

Ehsan Sajjad

Вы должны использовать этот метод

String.IsNullOrEmpty(string parameter)
любить:

private static bool AcharOvazio(String s)
{
  return String.IsNullOrEmpty(s.Trim());
}


мы также можем сделать это непосредственно в Linq, например:

N1 = ns.Where(x => !String.IsNullOrEmpty(x.Trim()))ToList();