/
aprogrammer
/
dotnet-docs
Обзор
Документация
Войти
/
aprogrammer
/
dotnet-docs
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
docs/csharp/linq/snippets/HowToExtend/Program.cs
86 строк
2 KB
Bill Wagner
Finish freshness update / reorg on LINQ content (#40437)
24 апр 2024, 20:59
Не верифицирован
24 апр 2024, 20:59
bc2d72c
Код
Авторство
О чём код?
using Custom.Linq.Extensions; Console.WriteLine("MedianUsage"); MedianUsage(); Console.WriteLine(); Console.WriteLine("OverloadUsage"); OverloadUsage(); Console.WriteLine(); Console.WriteLine("GenericUsage"); GenericUsage(); Console.WriteLine(); Console.WriteLine("SequenceUsage"); SequenceUsage(); static void MedianUsage() { // <MedianUsage> double[] numbers = [1.9, 2, 8, 4, 5.7, 6, 7.2, 0]; var query = numbers.Median(); Console.WriteLine($"double: Median = {query}"); // This code produces the following output: // double: Median = 4.85 // </MedianUsage> } static void OverloadUsage() { // <OverloadUsage> double[] numbers1 = [1.9, 2, 8, 4, 5.7, 6, 7.2, 0]; var query1 = numbers1.Median(); Console.WriteLine($"double: Median = {query1}"); int[] numbers2 = [1, 2, 3, 4, 5]; var query2 = numbers2.Median(); Console.WriteLine($"int: Median = {query2}"); // This code produces the following output: // double: Median = 4.85 // int: Median = 3 // </OverloadUsage> } static void GenericUsage() { // <GenericUsage> int[] numbers3 = [1, 2, 3, 4, 5]; /* You can use the num => num lambda expression as a parameter for the Median method so that the compiler will implicitly convert its value to double. If there is no implicit conversion, the compiler will display an error message. */ var query3 = numbers3.Median(num => num); Console.WriteLine($"int: Median = {query3}"); string[] numbers4 = ["one", "two", "three", "four", "five"]; // With the generic overload, you can also use numeric properties of objects. var query4 = numbers4.Median(str => str.Length); Console.WriteLine($"string: Median = {query4}"); // This code produces the following output: // int: Median = 3 // string: Median = 4 // </GenericUsage> } static void SequenceUsage() { // <SequenceUsage> string[] strings = ["a", "b", "c", "d", "e"]; var query5 = strings.AlternateElements(); foreach (var element in query5) { Console.WriteLine(element); } // This code produces the following output: // a // c // e // </SequenceUsage> }