Cách hiệu quả nhất để chuyển đổi một cá thể DataRowCollection thành DataRow [] là gì?Chuyển đổi DataRowCollection thành DataRow []
Trả lời
Đây là loại hiển nhiên, nhưng:
DataRowCollection.CopyTo(DataRow[] array, Int32 offset)
?
Dường như không có vấn đề gì, bạn sẽ phải lặp lại bộ sưu tập (CopyTo lặp lại các phần tử DataRowTree bên trong).
Tôi cho rằng bạn có thể sử dụng phản chiếu để truy cập cây không công khai, nhưng với chi phí đáng kể.
DataRow[] rows = dt.Select();
Giả sử bạn vẫn có quyền truy cập vào dữ liệu.
Vì lợi ích của sự hoàn chỉnh, đây là một cách khác (với LINQ), và nó giữ gìn hàng đặt hàng:
DataRow[] rows = dt.Rows.Cast<DataRow>().ToArray()
Nếu bạn chưa truy cập vào các bảng chứa, bạn có thể sử dụng phần mở rộng phương pháp:
public static class DataRowCollectionExtensions
{
public static IEnumerable<DataRow> AsEnumerable(this DataRowCollection source)
{
return source.Cast<DataRow>();
}
}
Và sau đó:
DataRow[] dataRows = dataRowCollection.AsEnumerable().ToArray();
Nhưng nếu bạn có quyền truy cập vào các bảng chứa, nó tốt hơn để hàng truy cập sử dụng 'phương pháp s AsEnumerable
mở rộng (Description, Source):
DataRow[] dataRows = dataTable.AsEnumerable().ToArray();
Dù bằng cách nào bạn có thể sử dụng DataTable
' DataTable
s Select
phương pháp với một số quá tải (Description, Source):
DataRow[] dataRows = dataTable.Select();
- 1. Cách chuyển đổi DataRow sang DataRowView trong C#
- 2. Không thể chuyển đổi điều này thành VB.net
- 3. Làm thế nào để chuyển đổi DataRowView sang DataRow trong C#
- 4. Cách chuyển đổi DataSet thành DataTable
- 5. Nhận giá trị của datarow trong C#
- 6. Chuyển đổi NULL thành chuỗi rỗng - Chuyển đổi không thành công khi chuyển đổi từ chuỗi ký tự thành uniqueidentifier
- 7. Chuyển đổi ifstream thành istream
- 8. Chuyển đổi DataColumn.DataType thành SqlDbType
- 9. Chuyển đổi Ruby thành C#
- 10. Chuyển đổi XDocument thành Luồng
- 11. Chuyển đổi System.Drawing.Image thành System.Windows.Controls.Image?
- 12. Chuyển đổi chuỗi thành System.IO.Stream
- 13. Chuyển đổi HashMap thành ArrayList
- 14. Chuyển đổi sbyte thành byte
- 15. Chuyển đổi chuỗi thành Enum?
- 16. Chuyển đổi Matlab thành C++
- 17. Chuyển đổi Seq thành ArrayBuffer
- 18. chuyển đổi int thành wstring
- 19. Chuyển đổi LINQ thành XSLT
- 20. chuyển đổi rss thành JSON
- 21. chuyển đổi DataHandler thành byte []
- 22. Chuyển đổi int64_t thành time_duration
- 23. Chuyển đổi System.Windows.Media.Color thành System.Drawing.Color
- 24. Chuyển đổi NSString thành NSInteger?
- 25. Chuyển đổi CodeFile thành CodeBehind
- 26. Chuyển đổi chuỗi thành BigInteger
- 27. Chuyển đổi SVGSVGElement thành Chuỗi
- 28. Chuyển đổi svg thành json
- 29. Chuyển đổi CGcolorRef thành UIColor
- 30. Chuyển đổi ImageIcon thành BufferedImage
Câu trả lời đơn giản nhất và chính xác. Nên được đánh dấu là câu trả lời được chấp nhận. Câu hỏi này hiện có 3.500 lượt xem! –
Đồng ý Javaman59, tôi đã gắn cờ câu hỏi cho người kiểm duyệt để xem xét. – si618