Comment l'utiliser dans .NET 2.0 ...?Conversion de LINQ en .NET 2.0
[DataObjectMethod(DataObjectMethodType.Select)]
public IEnumerable<OperatorField> FindByType(String type)
{
// return only selected type
return (from ce in this.OperatorFields where ce.Type == type select ce).ToList();
}
J'utiliser dans un 3.5 projets, mais maintenant j'ajouter de nouvelles fonctionnalités à un vieux projet que je ne peux pas (à ce moment) passer à 3.5.
Je viens de faire ceci:
[DataObjectMethod(DataObjectMethodType.Select)]
public IEnumerable<OperatorField> FindByType(String type)
{
// return only selected type
//return (from ce in this.OperatorFields where ce.Type == type select ce).ToList();
List<OperatorField> r = new List<OperatorField>();
foreach (OperatorField f in this.OperatorFields)
if (f.Type == type)
r.Add(f);
return r;
}
Si vous jetez un oeil à l'IL, est-il vraiment une différence? Pouvez-vous mesurer la performance des deux et voir si l'un ou l'autre est plus rapide? – StingyJack
2 min et 4 réponses identiques :) – cwap
@StingyJack: L'IL ne sera pas du tout similaire, car la version linq aura des appels à 'System.Linq.Enumerable.Where()', 'System.Linq.Enumerable. Sélectionnez() ', et' System.Linq.Enumerable.ToList() ', tandis que l'autre version appellera' IEnumerable.GetEnumerator() 'et parcourra le résultat. –