[英]C# DataSet foreach
我正在使用DataSet,當我使用foreach循環在列上迭代時,無法獲得ColumnName(如果使用var關鍵字):
例如
DataTable table1 = new DataTable("patients");
table1.Columns.Add("name");
table1.Columns.Add("id");
table1.Rows.Add("sam", 1);
table1.Rows.Add("mark", 2);
並且比使用foreach:
但是,如果顯式定義了foreach語句:
一切都好。 我知道foreach是Enumarator的語法糖。 這是某種遺留下來的遺傳葯物嗎?
這是某種遺留和缺乏泛型嗎?
是。 在泛型存在之前,該代碼是用C#1.0編寫的。
DataTable.Columns是一個DataColumnCollection。 DataColumnCollection實現IEnumerable,而不是IEnumerable <DataColumn>。 foreach語句將對您指定的任何類型執行強制類型轉換。 Var指定枚舉器方法返回的內容(在這種情況下為Object)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.