Skip to content

CSharp LINQ

Codex edited this page Oct 11, 2026 · 2 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

LINQ, вибірка та перетворення даних

Посібник C# · Приклади UO

LINQ обробляє послідовності: Where фільтрує, Select перетворює, OrderBy сортує, GroupBy групує, Any/All перевіряють умову, Count/Sum агрегують. Багато операцій виконуються відкладено, коли результат перераховують; ToArray і ToList фіксують знімок.

Простий приклад (Example.cs)

Збережіть цей приклад окремо як Example.cs. Запускайте його незалежно від інших прикладів на сторінці.

Example.cs:

// PROJECT-EXAMPLE
using System.Linq;
int[] values = [1, 2, 3];
var selected = values.Where(value => value > 1);
System.Console.WriteLine(string.Join(",", selected));

Результат:

2,3
int[] amounts = [1, 5, 2, 10];
var selected = amounts.Where(value => value >= 5).OrderBy(value => value).ToArray();
UO.Print(string.Join(", ", selected));
var entries = new[]
{
    new { Name = "ore", Amount = 2 },
    new { Name = "wood", Amount = 3 },
    new { Name = "ore", Amount = 4 }
};
var totals = from entry in entries
             group entry by entry.Name into groupValue
             select new { Name = groupValue.Key, Total = groupValue.Sum(value => value.Amount) };
foreach (var total in totals)
{
    UO.Print($"{total.Name}: {total.Total}");
}

First кидає виняток, якщо елемента немає; FirstOrDefault повертає значення за замовчуванням. Повторне перерахування відкладеного запиту може знову читати дані, що змінилися, тому знімок ігрового списку робіть усвідомлено.

Офіційна документація: LINQ, вибірка та перетворення даних – Microsoft Learn.

Clone this wiki locally