Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Abonnements

Quizz 2

Dans le quizz précédent, ma méthode GetElementsInAllGroups retourne un IEnumerable<T>. Cependant dans certain cas je voudrais retourner un IEnumerable vide. Pour cela, j'avais utilisé un foreach couplé avec un yield return, Mitsu a eu l'idée astucieuse de retourner un tableau vide et Simon M. m'a fait découvrir le Enumerable.Empty<T>(). Si on prend la dernière solution que je propose (avec le tableau vide)

public static IEnumerable<T> GetElementsInAllGroups<T>(IEnumerable<IEnumerable<T>> values)

{

    IEnumerable<T> valueFirst;

    if (values != null && values.Any() && (valueFirst = values.First()) != null)

        return from v in valueFirst.Distinct()

               where values.Skip(1).All(v2 => v2 != null && v2.Any(v3 => v3.Equals(v)))

               select v;

    return new T[0];

}

comment se passer du tableau en définissant une autre méthode ?

Attention, cela risque de rendre votre programme moins performant mais ce n'est pas le but, c'est juste un geek quizz Wink

Donc cela donnerait ceci :

public static IEnumerable<T> GetElementsInAllGroups<T>(IEnumerable<IEnumerable<T>> values)

{

    IEnumerable<T> valueFirst;

    if (values != null && values.Any() && (valueFirst = values.First()) != null)

        return from v in valueFirst.Distinct()

               where values.Skip(1).All(v2 => v2 != null && v2.Any(v3 => v3.Equals(v)))

               select v;

    return MaNouvelleMethodeQuiRenvoitUnIEnumerableTVide();

}

Enjoy Smile

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Publié samedi 9 août 2008 12:28 par Matthieu MEZIL

Classé sous : , , ,

Commentaires

# re: Quizz 2 @ lundi 11 août 2008 09:32

public static IEnumerable<T> MaNouvelleMethodeQuiRenvoitUnIEnumerableTVide<T>()

{

 yield break;

}

smo

# re: Quizz 2 @ lundi 11 août 2008 10:04

nice Simon :-)

C'est effectivement ce que j'attendais car autant yield return est assez connu, autant yield break l'est nettement moins.

Matthieu MEZIL

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01