¿Cuál es la mejor forma de convertir una instancia de DataRowCollection en una DataRow []?Convertir DataRowCollection en DataRow []
Respuesta
Esto es bastante obvio, pero:
DataRowCollection.CopyTo(DataRow[] array, Int32 offset)
?
Parece que no importa qué, tendrá que iterar la colección (CopyTo repite los elementos internos de DataRowTree).
Supongo que podría usar el reflejo para acceder al árbol no público, pero a un costo significativo.
DataRow[] rows = dt.Select();
Suponiendo que todavía tiene acceso a la tabla de datos.
Para la mayor abundamiento, esta es otra manera (con LINQ), y preservar la fila ordenar:
DataRow[] rows = dt.Rows.Cast<DataRow>().ToArray()
Si no tiene acceso a la tabla que contiene, es posible utilizar la extensión método:
public static class DataRowCollectionExtensions
{
public static IEnumerable<DataRow> AsEnumerable(this DataRowCollection source)
{
return source.Cast<DataRow>();
}
}
Y a partir de entonces:
DataRow[] dataRows = dataRowCollection.AsEnumerable().ToArray();
Sin embargo, si tiene acceso a la tabla que contiene, es mejor filas de acceso que utilicen DataTable
's método AsEnumerable
extensión (Description, Source):
DataRow[] dataRows = dataTable.AsEnumerable().ToArray();
De cualquier manera usted puede usar DataTable
' Select
método s con varias sobrecargas (Description, Source):
DataRow[] dataRows = dataTable.Select();
- 1. ¿Cómo puedo convertir DataRow a string Array?
- 2. ¿Cómo puedo convertir DataRowView en DataRow en C#
- 3. Forma simple de convertir datarow array a datatable
- 4. traer datarow al objeto C#
- 5. ¿Cómo agregar un nuevo DataRow en DataTable?
- 6. Obtener valor de datarow en C#
- 7. Obteniendo valores de datarow en una cadena?
- 8. Extracción segura de DataRow en ForEach
- 9. C# DataRow vacío a comprobar
- 10. DataColumn Name from DataRow (no DataTable)
- 11. Si estoy actualizando un DataRow, ¿bloqueo el DataTable completo o solo el DataRow?
- 12. DataRow ADO.NET - verificar la existencia de columnas
- 13. Obtenga DefaultView DataRowView desde un DataRow
- 14. Cómo seleccionar la segunda td en detailsview datarow?
- 15. Compruebe si DataRow existe por nombre de columna en C#?
- 16. Cómo obtengo un DataRow de una fila en un DataGridView
- 17. Cómo usar el método de extensión .ToDictionary() en DataRow
- 18. Cómo averiguo si existe una columna en una VB.Net DataRow
- 19. ¿Cómo obtengo el DataRow seleccionado en un DataGridView?
- 20. No se puede convertir esto en VB.net
- 21. MvcMiniProfiler No se puede convertir el objeto de tipo EFProfiledDbConnection
- 22. Configuración de un elemento de DataRow para anular
- 23. ¿Puedo agregar el mismo DataRow a una DataTable varias veces?
- 24. Extracto de DataRow o DataReader con una función
- 25. eliminar duplicados de DataTable y costumbre IEqualityComparer <DataRow>
- 26. ¿Convertir DataTable a lista genérica?
- 27. ¿Cómo se lee una matriz de bytes de un DataRow en C#?
- 28. Verifique que exista una columna en el DataRow antes de leer su valor
- 29. ¿Cómo puedo validar si la columna existe en un objeto DataRow?
- 30. ¿Cómo extender DataRow y DataTable en C# con propiedades y métodos adicionales?
respuesta más simple y correcta. Debe marcarse como la respuesta aceptada. ¡Esta pregunta ahora tiene 3.500 visitas! –
Acordado Javaman59, he marcado una pregunta para que un moderador la revise. – si618