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

Поиск

Категории

Облако тегов

acer ado.net amd asp.net c sharp c# cms css exceptions google html ipad iphone it бизнес javascript jquery linq microsoft mysql net nokia nokia lumia samsung seo silverlight sql surface tsql windows 8 windows blue windows phone windows rt xna безопасность библиотека вопросы на собеседовании интересные проекты интернет интернет магазин исключения книга книги компьютерная безопасность компьютерные игры контролы курсы по программированию логированние исключений мобильные приложения монетизация сайтов наушники новости новости it новости microsoft новости интернет новости технологий ноутбук ноутбуки обработка исключений оптимизация острова периферия планшет планшеты поддержка сайтов поисковое продвижение программы продвижение продвижение сайта продвижение сайтов рабство разработка игр разработка сайтов раскрутка сайта рекламные технологии смартфон смартфоны собеседование создание сайтов средства разработки туризм фриланс хостинг яндекс
  << Предыдущий пост       Следующий пост >>  
От: 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...

Постраничность в ASP.NET для Generic List-а с использованием LINQ
Практически все разработчики биндят свои Generic List-ы к ASP.NET контролам. Однако если список огромен, то вам нужно реализовать постраничность. Здесь простой пример реализации постраничности с использованием LINQ. Предполагается, что список в памяти. C# using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.W...

Комментарии

 
styledress.co.uk 19.04.2018 18:37:15 #

using System.Linq; using System.Web; using System.W...

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




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


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