Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

Enumerable.FirstOrDefault<TSource>, méthode (IEnumerable<TSource>)

Retourne le premier élément d'une séquence ou une valeur par défaut si la séquence ne contient aucun élément.

Espace de noms :  System.Linq
Assembly :  System.Core (dans System.Core.dll)
public static TSource FirstOrDefault<TSource>(
	this IEnumerable<TSource> source
)

Paramètres de type

TSource

Type des éléments de source.

Paramètres

source
Type : System.Collections.Generic.IEnumerable<TSource>
IEnumerable<T> duquel retourner le premier élément.

Valeur de retour

Type : TSource
default (TSource) si source est vide ; sinon, le premier élément de source.

Remarque sur l'utilisation

En Visual Basic et C#, vous pouvez appeler cette méthode comme une méthode d'instance sur n'importe quel objet de type IEnumerable<TSource>. Lorsque vous utilisez la syntaxe des méthodes d'instance pour appeler cette méthode, omettez le premier paramètre. Pour plus d'informations, consultez Méthodes d'extension (Visual Basic) ou Méthodes d'extension (Guide de programmation C#).
ExceptionCondition
ArgumentNullException

source est null.

La valeur par défaut des types référence et Nullable est null.

La méthode FirstOrDefault n'offre pas de moyen de spécifier une valeur par défaut. Si vous souhaitez spécifier une valeur par défaut différente de default(TSource), utilisez la méthode DefaultIfEmpty<TSource>(IEnumerable<TSource>, TSource) décrite dans la section Exemple.

L'exemple de code suivant montre comment utiliser FirstOrDefault<TSource>(IEnumerable<TSource>) sur un tableau vide.


            int[] numbers = { };
            int first = numbers.FirstOrDefault();
            Console.WriteLine(first);

            /*
             This code produces the following output:

             0
            */



Parfois, la valeur de default(TSource) n'est pas la valeur par défaut que vous souhaitez utiliser si la collection ne contient aucun élément. Au lieu de vérifier le résultat de la valeur par défaut non voulue, puis de la modifier si nécessaire, vous pouvez utiliser la méthode DefaultIfEmpty<TSource>(IEnumerable<TSource>, TSource) pour spécifier la valeur par défaut que vous souhaitez utiliser si la collection est vide. Puis appelez First<TSource>(IEnumerable<TSource>) pour obtenir le premier élément. L'exemple de code suivant utilise les deux techniques pour obtenir une valeur par défaut de 1 si une collection de mois en chiffres est vide. Étant donné que la valeur par défaut pour un entier est 0 et que cela ne correspond à aucun mois, la valeur par défaut doit alors être définie sur 1. La première variable de résultat est vérifiée pour la valeur par défaut non voulue après l'exécution de la requête. La deuxième variable de résultat est obtenue en utilisant DefaultIfEmpty<TSource>(IEnumerable<TSource>, TSource) pour spécifier une valeur par défaut de 1.


            List<int> months = new List<int> { };

            // Setting the default value to 1 after the query.
            int firstMonth1 = months.FirstOrDefault();
            if (firstMonth1 == 0)
            {
                firstMonth1 = 1;
            }
            Console.WriteLine("The value of the firstMonth1 variable is {0}", firstMonth1);

            // Setting the default value to 1 by using DefaultIfEmpty() in the query.
            int firstMonth2 = months.DefaultIfEmpty(1).First();
            Console.WriteLine("The value of the firstMonth2 variable is {0}", firstMonth2);

            /*
             This code produces the following output:

             The value of the firstMonth1 variable is 1
             The value of the firstMonth2 variable is 1
            */



.NET Framework

Pris en charge dans : 4.5, 4, 3.5

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Bibliothèque de classes portable

Pris en charge dans : Bibliothèque de classes portable

.NET pour les applications du Windows Store

Pris en charge dans : Windows 8

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.