Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

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

 

Date de publication : novembre 2016

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

source
Type: System.Collections.Generic.IEnumerable<TSource>

Le IEnumerable<T> pour retourner le premier élément.

Valeur de retour

Type: TSource

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

Paramètres de type

TSource

Le type des éléments de source.

Exception Condition
ArgumentNullException

source a la valeur null.

La valeur par défaut pour les types référence et nullable est null.

Le FirstOrDefault méthode ne fournit pas un moyen de spécifier une valeur par défaut. Si vous souhaitez spécifier une valeur par défaut autre que default(TSource), utilisez la DefaultIfEmpty<TSource>(IEnumerable<TSource>, TSource) méthode 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 en modifiant, le cas échéant, vous pouvez utiliser la DefaultIfEmpty<TSource>(IEnumerable<TSource>, TSource) méthode pour spécifier la valeur par défaut que vous souhaitez utiliser si la collection est vide. Ensuite, 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, ce qui ne correspond pas à un mois, la valeur par défaut doit être spécifiée comme 1. La première variable de résultat est vérifiée pour la valeur par défaut non voulue après que la requête est terminée. 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
*/

Plateforme Windows universelle
Disponible depuis 8
.NET Framework
Disponible depuis 3.5
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Windows Phone
Disponible depuis 8.1
Retour au début
Afficher: