ГЛАВНАЯ     АРХИВ     НАПИСАТЬ АДМИНУ     ПОДПИСАТЬСЯ НА RSS     ВОЙТИ      

Поиск

Категории

Облако тегов

  << Предыдущий пост       Следующий пост >>  
От: peerAt
23. июля 2012 20:30

Когда вы работаете с обобщенными списками, вам иногда нужно проверить значения списка и посмотреть удовлетворяют ли они определенному критерию. Метод, который я раньше не использовал TrueForAll(). Он является частью класса List<T> class. Он определяет, когда каждый из элементов List<(Of <(T>)>) удовлетворяет условию определенному в предикате. Например, мы имеем код:

C#

var numbers = new List<int>() { 4, 6, 7, 8, 34, 33, 11};

VB.NET (Option Infer On)

Dim numbers = New List(Of Integer) (New Integer() {4, 6, 7, 8, 34, 33, 11})

И нам нужно проверить, есть ли в списке хоть одно нулевое значение. Мы можем, например, сделать это так:

C#

bool isTrue = false;
foreach (var i in numbers)
{
if (i == 0)
{
isTrue = true;
}
}

VB.NET

Dim isTrue As Boolean = False
For Each
i In numbers
If i = 0 Then
isTrue = True
End If
Next
i

Нет ничего плохого в таком коде, но при использовании метода TrueForAll(), можно уложиться в одну строку кода:

C#

var numbers = new List<int>() { 4, 6, 7, 8, 34, 33, 11};
var isTrue = numbers.TrueForAll(o => o > 0);

VB.NET

Dim numbers = New List(Of Integer) (New Integer() {4, 6, 7, 8, 34, 33, 11})
Dim isTrue = numbers.TrueForAll(Function(o) o > 0)

Это сделает код более читабельным, чем предыдущий пример, и более элегантным, по моему мнению.


Это перевод. Оригинал здесь.

Похожие записи


Вопросы на собеседовании C#, Net, ASP.NET, SQL
Продолжая тему вопросов на собеседовании. Нашел еще одну подборку. Оригинал лежит здесь . Перенес, чтобы не затерялось. Есть вполне вменяемые ответы (хотя, на некоторые вопросы ответил бы по-другому). Ответы находятся после списка вопросов, я их не менял. 23. Что такое шаблон проектирования Model/View/Controller? Как и зачем его применяют? 2...

Использование LINQ для поиска и удаления старых файлов
Недавно меня спросили на asp.net форуме о том как бы я нашел старые файлы и удалил их. Я ответил, что я бы использовал LINQ. Это прекрасное средство для такого сценария. Здесь запрос для нахождения и удаления старых файлов. Не забудьте добавить ссылку на System.IO. C#var query = from o in Directory.GetFiles("/YourFolder", "*.*", SearchOption.AllD...

Как создать список (List) только для чтения с использованием LINQ ?
Нужно ли было вам когда нибудь создавать List только для чтения ? Как вы вышли из ситуации ? LINQ предлагает очень простой способ выйти из такой ситуации - метод AsReadOnly(). Дальше идет пример того как это можно сделать:C# List<int> integ = new List<int>(){100,200,300,400,500}; IList<int> noModif = integ.AsReadOnly(); foreach (var i ...

Добавить комментарий




biuquote
  • Комментарий
  • Предпросмотр
Loading


  Сохранить комментарий