English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
L'opérateur de partition divise une séquence (ensemble) en deux parties et retourne l'une des parties.
La méthode d'extension Take() retourne un nombre spécifié d'éléments à partir du premier élément.
IList<string> strList = new List<string>(){ "One", "Two", "Three", "Four", "Five" }; var newList = strList.Take(2); foreach(var str in newList) Console.WriteLine(str);
Un Deux
La syntaxe de requête C# ne prend pas en charge les opérateurs Take & takedwhile. Cependant, vous pouvez utiliser Take pour la variable de requête/La méthode takedwhile ou enveloppez l'ensemble de la requête dans des parenthèses, puis appelez Take/takedwhile ()
Dim takeResult = From s In studentList Take 3 Select s
La méthode d'extension TakeWhile() retourne les éléments d'un ensemble donné jusqu'à ce que la condition spécifiée soit vraie. Si le premier élément ne satisfait pas la condition, une collection vide est retournée.
TakeWhile a deux surcharges. Une reprise prend une prédicat de type Func<TSource, bool>, et l'autre reprise prend un prédicat de type Func<TSource, int, bool> passant par l'index de l'élément.
Dans l'exemple suivant, TakeWhile() retourne un nouveau ensemble contenant tous les éléments jusqu'à ce que l'on trouve un élément whose length est inférieure à4caractères.
Exemple : TakeWhile dans C# retourne les chaînes whose length is greater than4des éléments
IList<string> strList = new List<string>() { "Trois", "Quatre", "Cinq", "Cent"}; var result = strList.TakeWhile(s => s.Length > 4); foreach(string str in result) Console.WriteLine(str);
Trois
Dans l'exemple ci-dessus, TakeWhile() retourne uniquement le premier élément, car le deuxième élément de chaîne ne satisfait pas cette condition.
TakeWhile transmet également l'index actuel de l'élément au fonctionnaire de prédicat. Voici un exemple de TakeWhile avec une méthode prenant un élément jusqu'à ce que la longueur de la chaîne de caractères soit supérieure à son index
IList<string> strList = new List<string>() { "Un", "Deux", "Trois", "Quatre", "Cinq", "Six"}; var resultList = strList.TakeWhile((s, i) => s.Length > i); foreach(string str in resultList) Console.WriteLine(str);
Un Deux Trois Quatre