English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
L'opérateur de partition LINQ divise la séquence (ensemble) en deux parties et retourne l'une des parties.
Méthode | Description |
---|---|
Skip | À partir de l'élément premier de la séquence, sautez l'élément à la position spécifiée. |
SkipWhile | Sautez les éléments en fonction des conditions jusqu'à ce que l'élément ne satisfasse plus les conditions. Si l'élément premier ne satisfait pas les conditions, il saute 0 éléments et retourne tous les éléments de la séquence. |
Prendre | À partir de l'élément premier de la séquence, déplacez l'élément à la position spécifiée. |
TakeWhile | Retourne les éléments à partir du premier élément jusqu'à ce que l'élément ne satisfasse pas la condition. Si le premier élément ne satisfait pas la condition, il retourne un ensemble vide. |
La méthode Skip() saute un certain nombre d'éléments à partir du premier élément et retourne les éléments restants. Si le premier élément ne satisfait pas la condition, il retourne un ensemble vide.
IList<string> strList = new List<string>(){ "One", "Two", "Three", "Four", "Five" }; var newList = strList.Skip(2); foreach (var str in newList) Console.WriteLine(str);
Three Four Five
La syntaxe de requête C # ne prend pas en charge les opérateurs Skip et SkipWhile. Cependant, vous pouvez utiliser Skip pour les variables de requête./La méthode SkipWhile, ou enveloppez l'ensemble de la requête dans des parenthèses et appelez Skip/SkipWhile.
L'exemple suivant montre l'opérateur de syntaxe de requête skip-Version VB.NET
Dim skipResult = From s In studentList Skip 3 Sélectionner s
Comme son nom l'indique, l'extension de méthode SkipWhile() dans LINQ saute les éléments de la collection jusqu'à ce que la condition spécifiée soit true. Une fois que la condition spécifiée de tout élément devient fausse, elle retourne un nouveau ensemble contenant tous les éléments restants.
La méthode SkipWhile() de LINQ a deux surcharges. Une reprise accepte le type de prédicat Func<TSource, bool>, et l'autre reprise accepte le type de prédicat Func<TSource, int, bool> via l'index de l'élément.
Dans l'exemple suivant, la méthode SkipWhile() saute tous les éléments jusqu'à ce qu'elle trouve une longueur égale ou supérieure à4de caractères.
Exemple : Utilisation de la méthode SkipWhile() en C# pour sauter les chaînes whose length is less than4des éléments, et retourne tous les éléments suivants
IList<string> strList = new List<string>() { "One", "Two", "Three", "Four", "Five", "Six"} var resultList = strList.SkipWhile(s => s.Length < 4); foreach(string str in resultList) Console.WriteLine(str);
Three Four Five Six
Dans l'exemple précédent, en raison de la longueur des deux premiers éléments inférieure à3donc SkipWhile() saute les deux premiers éléments et trouve la longueur égale ou supérieure à4le troisième élément. Une fois trouvé, la longueur égale ou supérieure à4de caractères de tout élément, il ne sautera aucun autre élément, même s'il est inférieur à4de caractères.
Maintenant, regardez l'exemple suivant, dans lequel SkipWhile () ne saute aucun élément, car la condition spécifiée pour le premier élément est fausse.
IList<string> strList = new List<string>() { "Three", "One", "Two", "Four", "Five", "Six"} var resultList = strList.SkipWhile(s => s.Length < 4); foreach(string str in resultList) Console.WriteLine(str);
Three One Two Four Five Six
La deuxième surcharge de SkipWhile passe chaque index d'élément.
IList<string> strList = new List<string>() { "One", "Two", "Three", "Four", "Five", "Six"} var result = strList.SkipWhile((s, i) => s.Length > i); foreach(string str in result) Console.WriteLine(str);
Five Six
Dans l'exemple ci-dessus, l'expression lambda inclut l'élément et l'index de l'élément en tant que paramètres. Il saute tous les éléments jusqu'à ce que la longueur de l'élément de chaîne soit supérieure à son index.
La syntaxe de requête C# ne prend pas en charge les opérateurs Skip & SkipWhile. Cependant, vous pouvez utiliser Skip pour les variables de requête/La méthode SkipWhile, ou enveloppez l'ensemble de la requête dans des parenthèses et appelez Skip/SkipWhile ()。
Dim strList = New List(Of string) From { "One", "Two", "Three", "Four", "Five", "Six"} Dim skipWhileResult = From s In studentList Skip While s.Length < 4 Sélectionner s
Three Four Five Six