Форум программистов, компьютерный форум, киберфорум
LINQ
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/19: Рейтинг темы: голосов - 19, средняя оценка - 4.89
 Аватар для TheMachinist
246 / 178 / 47
Регистрация: 14.06.2010
Сообщений: 422

Простой пример LINQ

11.10.2011, 00:04. Показов 3428. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем.
У меня простой пример из книжки:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using System;
using System.Linq;
 
namespace Test
{   
     class Demo {       
    static void Main(){
            string[] Strs = {"alpha","beta","gamma"};
            
            var chrs = from str in Strs
                let chr_array = str.ToCharArray()
                from ch in chr_array
                orderby ch
                select ch;
            
            foreach(var ch in chrs) 
                Console.WriteLine(ch);
                
            Console.ReadKey(true);
        }
    }
}
Я просто чего-то здесь недопонимаю. По моей логике упорядочиваться должны символы
каждой строки по отдельности : aahlp abet aagmm
Кто-нибудь подскажет мне как их вывести в таком порядке имеющимися
средствами
??? (т.е. с помощью from let orderby select)

Данный пример посвящен использованию слова let, но проще
убрать строку
C#
1
let chr_array = str.ToCharArray()
и написать:
C#
1
2
3
4
var chrs = from str in Strs
                from ch in str
                orderby ch
                select ch;
О_о
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.10.2011, 00:04
Ответы с готовыми решениями:

Почему LINQ to Entity содержит не все методы LINQ to Objects?
Почему не все методы linq to entity содержат все методы?Чем например Linq to object

Ускорение Linq to SQL (Compiled Linq, Entity SQL, и т.д.)
Здравствуйте! У меня задание стоит ускорить прогу. В проге во многих местах по куче Linq запросов. Я решил их как-нибудь ускорить. Запросы...

Приведите простой пример для LINQ to XML
помогите с кодом пожалуйста! подключить не скачивая...

3
 Аватар для Runa
134 / 87 / 22
Регистрация: 28.08.2009
Сообщений: 363
11.10.2011, 02:31
Цитата Сообщение от TheMachinist Посмотреть сообщение
Кто-нибудь подскажет мне как их вывести в таком порядке имеющимися
средствами??? (т.е. с помощью from let orderby select)
C#
1
2
3
4
5
6
var chrs = from str in Strs
                       let chr_array = str.ToCharArray()
                       from ch in chr_array
                       orderby ch
                       orderby str
                       select ch;
1
 Аватар для Финал
3 / 3 / 2
Регистрация: 11.09.2013
Сообщений: 181
29.05.2014, 22:16
Никак не могу понять как работает этот let, хотел создать тему, но тут уже есть подобная. Вообщем все тот же пример из Шилдта.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;
using System.Linq;
 
namespace Test
{   
     class Demo {       
    static void Main(){
            string[] Strs = {"alpha","beta","gamma"};
            
            var chrs = from str in Strs
                let chr_array = str.ToCharArray()
                from ch in chr_array
                orderby ch
                select ch;
            
            foreach(var ch in chrs) 
                Console.WriteLine(ch);
Товарищи, правильно ли я понимаю, что в этих строчках кода:
C#
1
2
var chrs = from str in Strs
                let chr_array = str.ToCharArray()
Сначала формируется новый источник данных состоящий из трёх элементов alpha betta gamma?
И уже только потом компилятор переходит к выполнению этого кода?
C#
1
2
3
from ch in chr_array
                orderby ch
                select ch;
0
 Аватар для Spawn
995 / 893 / 354
Регистрация: 24.03.2014
Сообщений: 2,381
Записей в блоге: 2
30.05.2014, 09:34
Цитата Сообщение от Финал Посмотреть сообщение
И уже только потом компилятор переходит к выполнению этого кода?
Компилятор выполняет данный кусок кода для каждого из массивов chr_array, которые создаются поочерёдно из массива Strs.
Вообще написанное соответствует SelectMany:
C#
1
var chrs = Strs.SelectMany(str => str.ToCharArray()).OrderBy(ch => ch);
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.05.2014, 09:34
Помогаю со студенческими работами здесь

Простой запрос Linq, почему то валится с ошибкой
Пытаюсь Linq ом сделать left outer join двух таблиц. Вот такой запрос работает : var vr = from...

Как выполнить простой SELECT запрос с помощью Linq to SQL?
class Program { static SqlConnection conn; static void Main(string args) { try ...

простой пример!
помогите пожалуйста, скажите в чем моя ошибка. Я только начинаю учиться работать на Java. public class Proba1 { public void...

Простой пример
Доброе время суток! Вот написал на html-е пример меню. Можете помочь через JQ сделать эффект активной ссылки? Чтоб она как-то выделялась от...

Простой пример
Совсем нуб. Потуги решить простейший пример увенчались провалом. 8086 emulator нужно решить пример d=((a+b)-bc)/5+1 a=34, b=2,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru