ГЛАВНАЯ     АРХИВ     НАПИСАТЬ АДМИНУ     ПОДПИСАТЬСЯ НА 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
26. марта 2012 17:55

Давайте рассмотрим задачу: есть два массива строк одинаковой длины, надо пройти циклом через все элементы массивов, объединяя пары элементов в один. Один из путей сделать это - использование вложенных циклов foreach, как показано ниже:

string[] uCase = { "A", "B", "C" };
string[] lCase = { "a", "b", "c" };

foreach (string s1 in uCase)
{
foreach (string s2 in lCase)
{
Console.WriteLine(s1 + s2);
}
}

Теперь, если вы хотите получить те же результаты в LINQ, без вложенного цикла foreach, используйте IEnumerable.SelectMany() , который проектирует каждый элемент последовательности и преобразовывает выходных последовательностей в одну последовательность.

string[] uCase = { "A", "B", "C" };
string[] lCase = { "a", "b", "c" };

var ul = uCase.SelectMany(
uc => lCase, (uc, lc) => (uc + lc));

foreach (string s in ul)
{
Console.WriteLine(s);
}

ВЫВОД ПРОГРАММЫ:

image



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

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


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

Простой способ пройти циклом по нескольким массивам на C# и LINQ
Давайте рассмотрим прием, позволяющий пройти циклом по нескольким массивам сразу на C#. В соответствие с последующей программой: static void Main(string[] args){ var arr1 = new[] { 5, 3, 4, 2, 6, 7 }; var arr2 = new[] { 4, 9, 3, 1, 9, 4 }; var arr3 = new[] { 2, 1, 8, 7, 4, 9 }; foreach (int num in arr1) Print(num); foreach (int num1 in arr2...

Как перечислить файлы фильтруя по дате создания, используя LINQ в .NET 4.0 ?
Не так давно мы писали о 7 методов для перечисления папок и файлов для использования в LINQ И у нас спрашивали как вернуть список файлов из каталога, используюя LINQ, с датами создания в заданном диапазоне. Вот как это сделать:C#using System; using System.Linq; using System.IO; namespace ConsoleApplication1 { class Program { static void Main(string[] a...

Комментарии

 
РАТ 02.07.2012 14:58:53 #

Скажите, а не это ли тот самый скрытый путь к мажорному распиздяйству?

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




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


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