FR CSharp LINQ - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
LINQ, échantillonnage et transformation de données
LINQ traite les séquences : Where filtre, Select transforme, OrderBy trie, GroupBy groupe, Any/All vérifie la condition, Count/Sum agrège. De nombreuses opérations sont exécutées en différé pendant que le résultat est énuméré ; ToArray et ToList capturent l'image.
Exemple simple (Example.cs)
Enregistrez cet exemple séparément dans Example.cs. Exécutez-le indépendamment des autres exemples de cette page.
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));
Résultat:
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 lève une exception s'il n'y a aucun élément ; FirstOrDefault renvoie la valeur par défaut. La réénumération d'une requête différée peut à nouveau lire les données modifiées, alors prenez soigneusement un instantané de la liste des jeux.
Documentation officielle : LINQ, Récupération et transformation de données - Microsoft Learn.