À l'aide de DefaultIfEmpty avec un objet?
J'ai vu un exemple sur MSDN où il vous permet de spécifier la valeur par défaut si rien n'est retourné. Voir ci-dessous:
List<int> months = new List<int> { };
int firstMonth2 = months.DefaultIfEmpty(1).First();
Est-il possible d'utiliser cette fonctionnalité avec un objet? Exemple:
class object
{
int id;
string name;
}
code:
List<myObjec> objs = new List<myObjec> {};
string defaultName = objs.DefaultIfEmpty(/*something to define object in here*/).name;
Mise à JOUR:
Je pensais que je pouvais faire quelque chose comme ceci:
List<myObjec> objs = new List<myObjec> {};
string defaultName = objs.DefaultIfEmpty(new myObjec(-1,"test")).name;
Mais je n'ai pas pu. Il convient de noter que je suis en train d'essayer d'utiliser cette méthode sur un objet défini dans mon DBML à l'aide de LINQ-to-SQL. Vous ne savez pas si cela fait une différence dans ce cas ou pas.
Oui, bien sûr. Avez-vous essayé? Où est le problème?
Peut-être
Je ne sais pas si cela fait une différence, mais c'est une version simplifiée de quelque chose que je fais en LinqToSQL. J'ai essayé de faire l'équivalent de
Mon problème est que je ne sais pas quoi mettre à la place de
Peut-être
new myObjec()
est ce que vous recherchez?Je ne sais pas si cela fait une différence, mais c'est une version simplifiée de quelque chose que je fais en LinqToSQL. J'ai essayé de faire l'équivalent de
new myObjec (-1,"test")
mais il ne fonctionne pas.Mon problème est que je ne sais pas quoi mettre à la place de
/*something to define object in here*/
OriginalL'auteur Abe Miessler | 2010-11-01
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour passer un instancié de la classe en tant que paramètre de la
DefaultIfEmpty
.À ajouter à la et de le rendre un peu plus élégante (OMI) ajouter un constructeur par défaut:
OriginalL'auteur Dustin Laine
Que par la page MSDN sur cette Méthode d'Extension, vous pouvez faire ce que vous voulez:
http://msdn.microsoft.com/en-us/library/bb355419.aspx
Vérifier l'échantillon sur cette page pour un exemple sur la façon de l'utiliser avec un objet.
OriginalL'auteur Waleed Al-Balooshi
je dois avouer que je ne suis pas trop sûr de comprendre votre question, mais je vais essayer de suggérer en utilisant le double point d'interrogation si l'objet retourné peut être null. Comme:
FirstOrDefault
.merci, j'ai corrigé moi-même
OriginalL'auteur Peter Perháč
Vous pouvez créer un Objet par défaut Comme ceci:
Et l'ajouter à votre valeur par défaut :
Si votre liste "objs" est vide, le résultat sera "C"
Bien sûr, si vous vous opposez a constructeur ; string defaultName = o_Objs.DefaultIfEmpty(new Object(1,"D")).(Premier).Nom;
OriginalL'auteur Sebastien Robert