Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю Страница 263
- Категория: Компьютеры и Интернет / Базы данных
- Автор: Троелсен Эндрю
- Страниц: 642
- Добавлено: 2023-08-26 14:00:22
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних просмотр данного контента СТРОГО ЗАПРЕЩЕН! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту pbn.book@yandex.ru для удаления материала
Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю краткое содержание
Прочтите описание перед тем, как прочитать онлайн книгу «Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю» бесплатно полную версию:В 10-м издании книги описаны новейшие возможности языка C# 9 и .NET 5 вместе с подробным "закулисным" обсуждением, призванным расширить навыки критического мышления разработчиков, когда речь идет об их ремесле.
Книга охватывает ASP.NET Core, Entity Framework Core и многое другое наряду с последними обновлениями унифицированной платформы .NET, начиная с улучшений показателей производительности настольных приложений Windows в .NET 5 и обновления инструментария XAML и заканчивая расширенным рассмотрением файлов данных и способов обработки данных.
Все примеры кода были переписаны с учетом возможностей последнего выпуска C# 9.
Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю читать онлайн бесплатно
public string Description {get; set;} = "";
public int NumberInStock {get; set;} = 0;
public override string ToString()
=> $"Name={Name}, Description={Description},
Number in Stock={NumberInStock}";
}
}
Теперь заполните массив объектами ProductInfo в вызывающем коде:
Console.WriteLine("***** Fun with Query Expressions *****\n");
// Этот массив будет основой для тестирования...
ProductInfo[] itemsInStock = new[] {
new ProductInfo{ Name = "Mac's Coffee",
Description = "Coffee with TEETH", NumberInStock = 24},
new ProductInfo{ Name = "Milk Maid Milk",
Description = "Milk cow's love", NumberInStock = 100},
new ProductInfo{ Name = "Pure Silk Tofu",
Description = "Bland as Possible", NumberInStock = 120},
new ProductInfo{ Name = "Crunchy Pops",
Description = "Cheezy, peppery goodness", NumberInStock = 2},
new ProductInfo{ Name = "RipOff Water",
Description = "From the tap to your wallet", NumberInStock = 100},
new ProductInfo{ Name = "Classic Valpo Pizza",
Description = "Everyone loves pizza!", NumberInStock = 73}
};
// Здесь мы будем вызывать разнообразные методы!
Console.ReadLine();
Базовый синтаксис выборки
Поскольку синтаксическая корректность выражения запроса LINQ проверяется на этапе компиляции, вы должны помнить, что порядок следования операций критически важен. В простейшем виде каждый запрос LINQ строится с использованием операций from, in и select. Вот базовый шаблон, который нужно соблюдать:
<i>var результат =</i>
<i> from сопоставляемыйЭлемент in контейнер</i>
<i> select сопоставляемыйЭлемент;</i>
Элемент после операции from представляет элемент, соответствующий критерию запроса LINQ; именовать его можно по своему усмотрению. Элемент после операции in представляет контейнер данных, в котором производится поиск (массив, коллекция, документ XML и т.д.).
Рассмотрим простой запрос, не делающий ничего кроме извлечения каждого элемента контейнера (по поведению похожий на SQL-оператор SELECT * в базе данных):
(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})static void SelectEverything(ProductInfo[] products)
{
<b> // Получить все!</b>
Console.WriteLine("All product details:");
var allProducts = from p in products select p;
foreach (var prod in allProducts)
{
Console.WriteLine(prod.ToString());
}
}
По правде говоря, это выражение запроса не особенно полезно, т.к. оно выдает подмножество, идентичное содержимому входного параметра. При желании можно извлечь только значения Name каждого товара, применив следующий синтаксис выборки:
static void ListProductNames(ProductInfo[] products)
{
// Теперь получить только наименования товаров.
Console.WriteLine("Only product names:");
var names = from p in products select p.Name;
foreach (var n in names)
{
Console.WriteLine("Name: {0}", n);
}
}
Получение подмножества данных
Чтобы получить определенное подмножество из контейнера, можно использовать операцию where. Общий шаблон запроса становится таким:
<i>var результат =</i>
<i> from элемент in контейнер</i>
<i> where булевскоеВыражение</i>
<i> select элемент;</i>
Обратите внимание, что операция where ожидает выражение, результатом вычисления которого является булевское значение. Например, чтобы извлечь из аргумента ProductInfo[] только товарные позиции, складские запасы которых составляют более 25 единиц, можно написать следующий код:
static void GetOverstock(ProductInfo[] products)
{
Console.WriteLine("The overstock items!");
// Получить только товары со складским запасом более 25 единиц.
var overstock =
from p
in products
where p.NumberInStock > 25
select p;
foreach (ProductInfo c in overstock)
Жалоба
Напишите нам, и мы в срочном порядке примем меры.