@kek123

Как написать linq выражение?

Есть строковый список со значениями "Нет", "20000", "30000", "45000", "50000", "75000"
Нужно отсеять значения, которые больше значения maxSum = 60000.
Результат должен быть такой: "Нет", "20000", "30000", "45000", "50000"
Как правильно написать linq запрос?
  • Вопрос задан
  • 319 просмотров
Пригласить эксперта
Ответы на вопрос 4
yarosroman
@yarosroman Куратор тега C#
C# the best
string[] input = { "Нет", "20000", "30000", "45000", "50000", "75000" };
var output = input.Where(x => int.TryParse(x, out int t) ? t < 60000 : true);
Ответ написан
Комментировать
EreminD
@EreminD
Кое-что умею
List<string> lst = new List<string> { "Нет", "20000", "30000", "45000", "50000", "75000" };

List<string> res = lst.Where(x => !int.TryParse(x, out int n) || int.Parse(x) < maxSum ).ToList();
Ответ написан
@yorick_kiev_ua
string[] arr = { "Нет", "20000", "30000", "45000", "50000", "75000" };
int i;
//var x = arr.Where(_ => !int.TryParse(_, out i) || int.Parse(_) < 60000).ToList();
var x = arr.Where(_ => !int.TryParse(_, out i) || i < 60000).ToList();
Ответ написан
tomnolane
@tomnolane
профессиональный разработчик
string[] input = { "Нет", "20000", "30000", "45000", "50000", "75000" }; int t; const int maxSum = 60000;
var output = (from f in input where int.TryParse(f, out t) ? t < maxSum : true select f).ToArray();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы