powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Linq в чем разница между let и into ?
15 сообщений из 15, страница 1 из 1
Linq в чем разница между let и into ?
    #38566128
megazoid007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно в чем разница ?
...
Рейтинг: 0 / 0
Linq в чем разница между let и into ?
    #38566191
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megazoid007,

Most people find it difficult to decide which one to use when designing a LINQ query.
•Into – Hides the previous variable when used in a query, as you see in the above example. Which means its hides the previous range variable and creates a temporary range variable which you can use in further operations.
•Let – Doesn’t hide the previous variable and creates a new variable. Which means you create a new variable and you can also use the previous variable, so you can use both in further operations.


http://www.codeproject.com/Articles/231164/Into-and-let-in-LINQ-Let-vs-Into
...
Рейтинг: 0 / 0
Linq в чем разница между let и into ?
    #38566224
megazoid007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lelouch, ну так преимущество let на лицо, не понимаю зачем тогда придумывать into ? может это как с производительностью связано ?
...
Рейтинг: 0 / 0
Linq в чем разница между let и into ?
    #38566235
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megazoid007,

а как результаты join с помощью let в переменную выбрать ?
например для построения left outer
...
Рейтинг: 0 / 0
Linq в чем разница между let и into ?
    #38566266
megazoid007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lelouch, это единственный случай в котором нужно применять into ?
...
Рейтинг: 0 / 0
Linq в чем разница между let и into ?
    #38566274
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megazoid007,

и в группировках например:
http://msdn.microsoft.com/ru-ru/library/bb384063.aspx
...
Рейтинг: 0 / 0
Linq в чем разница между let и into ?
    #38566282
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Linq в чем разница между let и into ?
    #38566293
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megazoid007,

достаточно посмотреть в рефлекторе, во что разворачивается выражение с let: дополнительный параметр будет протаскиваться во все следующие выражения. Да, это ухудшает производительность.
...
Рейтинг: 0 / 0
Linq в чем разница между let и into ?
    #38566310
megazoid007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lelouch, т.е. в let никак не получится присвоить результат join, group и select, let применяться где то после from in или where ?
...
Рейтинг: 0 / 0
Linq в чем разница между let и into ?
    #38566322
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megazoid007,

чтобы этот вопрос мог значить?
...
Рейтинг: 0 / 0
Linq в чем разница между let и into ?
    #38566335
megazoid007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lelouch, это значит что я новичок в linq и пытаюсь разобраться, дружище как пользоваться google я знаю так что если ты пытаешься стать его прокси то пожалуйста не утруждай себя, я не для этого обратился на форум
...
Рейтинг: 0 / 0
Linq в чем разница между let и into ?
    #38566382
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megazoid007,

я вам не дружище)
гугл я кажется вам не советовал. Отличия let и into понятны? надеюсь, да.
Что вы спросили после этого я понять не могу. Что let что into могут использоваться только внутри запроса linq.
...
Рейтинг: 0 / 0
Linq в чем разница между let и into ?
    #38566423
megazoid007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lelouch, в результате нашей "беседы" и тех ссылок которые вы давали как рас то ничего не ясно, на msdn определение let и into практический идентичные и тот и тот хранит информация в промежуточных целях, по первой ссылке индус только вынес на рассмотрение сокрытие/ не сокрытие предыдущих переменных выборки, ну и что ? вопрос так и остался открытым, какая разница между let и into и синтаксический и метафизический ?
...
Рейтинг: 0 / 0
Linq в чем разница между let и into ?
    #38566569
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megazoid007,

честно говоря, вопрос равнозначен следующему: в чём разница между тёплым и мягким?

-----
Покажу на примере, во что разворачивается let.

Допустим, имеется класс Person:
Код: c#
1.
2.
3.
4.
5.
class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}



Имеется коллекция persons:
Код: c#
1.
2.
3.
4.
5.
6.
7.
var persons = new List<Person>() {
    new Person { Name = "Vasya", Age = 20 },
    new Person { Name = "Petya", Age = 30 },
    new Person { Name = "Vasya", Age = 40 },
    new Person { Name = "Kolya", Age = 50 },
    new Person { Name = "Misha", Age = 60 }
};



Теперь найдём среди этих людей самого молодого лоботряса. Причём определение минимального возраста запишем в сам запрос - чисто для этого примера с let.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
var query1 = from person in persons
             let age = persons.Min(p => p.Age)
             where person.Age == age
             select person;

var query2 = persons
    .Select(person => new { person, age = persons.Min(p => p.Age) })
    .Where(a => a.person.Age == a.age)
    .Select(a => a.person);



В первом запросе использован синтаксис запросов, во втором - синтаксис методов.
Отсюда видно, что во втором случае нам пришлось создать анонимный тип, который содержит в себе ссылку на человека и значение минимального возраста (которое в первом случае было присвоено в let).
А в конце выражения с методами приходится извлекать человека из анонимного типа.

Таким образом, let - удобная штука (синтаксический сахар) легко позволяющая передавать некое значение в дальнейшие выражения, и не более того.
...
Рейтинг: 0 / 0
Linq в чем разница между let и into ?
    #38566612
megazoid007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
petalvik, вроде как стало немного яснее, спасибо
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Linq в чем разница между let и into ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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