Профессор Си
2.91K subscribers
97 photos
2 videos
118 links
Уроки, советы, новости C#.


@anothertechrock
@aldrson
Download Telegram
Вопрос на засыпку. В чем разница между stack и heap?

Ответ опубликуем завтра.

Пишите в комментариях ваш вариант!

#questions
🤮4🤝1
В чем разница между stack и heap?

Ответ:

В stack хранятся типы значений (типы, унаследованные от System.ValueType), а в heap – ссылочные типы (типы, унаследованные от System.Object).

Можно сказать, что stack отвечает за отслеживание того, что на самом деле выполняется и где находится каждый выполняющийся поток (каждый поток имеет свой собственный стек). Heap, с другой стороны, отвечает за хранение данных, или, более точно, объектов.

#questions
👎9👍3🤡2💩1
Вопрос на засыпку. Что такое отложенное выполнение и немедленное выполнение в LINQ? Приведите примеры.

Ответ опубликуем завтра.

Пишите в комментариях ваш вариант!

#questions
👍3
Что такое отложенное и немедленное выполнение в LINQ?

Ответ:

В LINQ отложенное выполнение означает, что запрос не выполняется в указанное время. В частности, это достигается путем присвоения запроса переменной. При этом определение запроса сохраняется в переменной, но запрос не выполняется до тех пор, пока переменная запроса не будет итерирована.

Например:

DataContext productContext = new DataContext();

var productQuery = from product in productContext.Products
where product.Type == "SOAPS"
select product; // запрос не выполняется

foreach (var product in productQuery) // запрос выполняется здесь
{
Console.WriteLine(product.Name);
}

Немедленное выполнение запроса полезно, например, если база данных часто обновляется, и в логике программы важно, чтобы результаты, к которым обращаются, были возвращены в той точке вашего кода, где был задан запрос. Немедленное выполнение часто вызывается с помощью таких методов, какAverage, Sum, Count, List, ToList или ToArray.

Например:

DataContext productContext = new DataContext();

var productCountQuery = (from product in productContext.Products
where product.Type == "SOAPS"
select product).Count(); // запрос выполняется здесь

#questions
🤡71