Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Снова запрос LINQ. / 11 сообщений из 11, страница 1 из 1
21.08.2015, 12:58
    #39033887
ProBiotek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова запрос LINQ.
Привет. Помогите переделать такую конструкцию в LINQ.

var PCs = new List<PC>();
foreach (var laba in Offices)
{
foreach (var pc in laba.PCs)
{
if (pc.label == x)
PCs.Add(labTool);
}
};

Тут, судя по всему должно быть 2 where, вложенные.. Но я запутался
...
Рейтинг: 0 / 0
21.08.2015, 12:59
    #39033888
ProBiotek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова запрос LINQ.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
var PCs = new List<PC>();
foreach (var laba in Offices)
{
foreach (var pc in laba.PCs)
{
if (pc.label == x)
PCs.Add(labTool);
}
};
...
Рейтинг: 0 / 0
21.08.2015, 13:24
    #39033923
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова запрос LINQ.
ProBiotekТут, судя по всему должно быть 2 where, вложенныетут, судя по всему, должен быть SelectMany
...
Рейтинг: 0 / 0
21.08.2015, 14:23
    #39033996
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова запрос LINQ.
ProBiotek,

Список заполеяется одним и тем же labtool или что?
...
Рейтинг: 0 / 0
21.08.2015, 15:35
    #39034075
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова запрос LINQ.
ProBiotek,
Код: c#
1.
2.
3.
4.
5.
6.
 var PCs = new List<PC>(
                from laba in Offices
                from pc in laba.PCs
                where pc.label == x //x - берется из замыкания?
                select labTool //тут что то правильное а не labTool
                );
...
Рейтинг: 0 / 0
21.08.2015, 15:53
    #39034087
ProBiotek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова запрос LINQ.
ЕвгенийВProBiotek,
Код: c#
1.
2.
3.
4.
5.
6.
 var PCs = new List<PC>(
                from laba in Offices
                from pc in laba.PCs
                where pc.label == x //x - берется из замыкания?
                select labTool //тут что то правильное а не labTool
                );



Спасибо !
Через LINQ тут только SelectMany поможет ? Вот его я совсееем не понимаю :)
...
Рейтинг: 0 / 0
21.08.2015, 17:16
    #39034145
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова запрос LINQ.
ProBiotekЧерез LINQ тут только SelectMany поможет ? Вот его я совсееем не понимаю :)Предложенный Евгением вариант и есть Linq, и есть SelectMany
...
Рейтинг: 0 / 0
21.08.2015, 17:31
    #39034157
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова запрос LINQ.
ProBiotekЧерез LINQ тут только SelectMany поможет ? Вот его я совсееем не понимаю :)

Возможно этот код приведёт вас к пониманию SelectMany

Код: sql
1.
2.
3.
            int[][] x = { new[] { 2, 3, 4 }, new[] { 5, 6, 7, 8, 9 } };

            var xx = x.SelectMany(y => y.Select(z => z)).ToArray(); 
...
Рейтинг: 0 / 0
21.08.2015, 17:50
    #39034173
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова запрос LINQ.
a_voronin,
Или схематично так.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 public static IEnumerable<TResult> SelectMany<TSource, TResult>(IEnumerable<TSource> src,
            Func<TSource, IEnumerable<TResult>> func)
        {
            foreach (var x in src)
            {
                foreach (var y in func(x))
                {
                    yield return y;
                }
            }
        }
...
Рейтинг: 0 / 0
24.08.2015, 12:12
    #39034868
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова запрос LINQ.
ProBiotek,

Код: c#
1.
2.
3.
4.
var PCs = Offices
    .SelectMany(laba => laba.PCs)
    .Where(pc => pc.label == x)
    .ToList();
...
Рейтинг: 0 / 0
24.08.2015, 12:28
    #39034878
ProBiotek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снова запрос LINQ.
Спасибо всем.
Изучу как строится конструкция SelectMany, не в первый раз уже с ней застреваю.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Снова запрос LINQ. / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]