2010-11-12 6 views
0

J'ai un modèle ASP.NET MVC sur lequel je travaille qui contient une propriété pour une liste. L'exemple de code est ci-dessous. Maintenant, quand j'appelle cette propriété de mon point de vue, la liste est excellente et s'affiche. Le problème vient quand je veux implémenter une construction pour éliminer tous les Foo dans la liste en fonction d'une propriété d'ID à l'intérieur d'eux.Liste <T> .ToList() Ne pas retourner les résultats

Je travaillais sur la mise en œuvre d'un IEqualityComparer pour faire cela mais je rencontrais des problèmes, donc j'ai grandement simplifié mon code pour au moins essayer de le faire fonctionner. Ce faisant, je suis arrivé au point où simplement mettre le suivant ne renvoie aucun résultat.

get 
{ 
    return _myList.ToList(); 
} 

J'ai le sentiment que cela a quelque chose à voir avec des références, mais je ne peux pas à mettre le doigt sur ce qui se passe ici. De l'aide serait grandement appréciée.

Merci

+1

vous devriez publier le code que vous utilisez pour filtrer la liste - c'est probablement la source de votre problème. – Remus

+0

Est-ce que cela fonctionne sur la demande initiale, mais échoue sur la publication? –

+1

@Remus, le PO déclare qu'il ne filtre plus la liste - d'où la confusion supplémentaire. –

Répondre

0

Allant de ce @Remus dit ...

En supposant que j'avais une classe TUser ... alors j'OVERIDE Egaux

Public Overloads Overrides Function Equals(ByVal obj As Object) As Boolean 
      If obj Is Nothing Or Not Me.GetType() Is obj.GetType() Then 
       Return False 
      End If 
      Dim u As User = CType(obj, TUser) 
      Return Me.UserId = u.UserId 
End Function 

De cette façon, je peux ou déposer un filtre LINQ

If _myList.Contains(User) Then 

End If 

Here est une référence

Désolé pour le VB ...

Questions connexes