簡體   English   中英

C#DataSet foreach

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM