Convertir DataRowCollection à IEnumerable<T>
Je voudrais faire quelque chose comme cela .NET 3.5. Quelle est la manière la plus rapide?
IEnumerable<DataRow> collection =
TypedDataSet.TypedTableBase<DataRow>.Rows as IEnumerable<DataRow>;
Vous devez vous connecter pour publier un commentaire.
En supposant que vous êtes en utilisant .NET 4.0, qui introduit la covariance:
La type de table elle-même implémente
IEnumerable<T> where T : DataRow
.Autrement:
Vous pouvez appeler
OfType<DataRow>()
sur leDataRowCollection
.Un direct simple solution consiste à utiliser la méthode "Select()" d'un Système.Les données.Objet DataTable, qui produit des "DataRow[]". À partir de cela, vous pouvez le traiter comme un IEnumberable à l'aide de Linq comme ci-dessous:
Fournir une liste utile des objets pour chaque ligne.
Il est intégré dans la méthode d'extension si vous incluez
System.Data.DataSetExtensions.dll
à votre projet ajoute uneAsEnumerable()
méthode.