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

Поиск

Категории

Облако тегов

  << Предыдущий пост       Следующий пост >>  
От: 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


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