私はDataSetを使用していますが、foreachループで列を反復処理すると、ColumnName(varキーワードを使用している場合)を取得できません:C#DataSet foreach
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文を明示的に定義されている場合:
すべてがOKです。 私はforeachがEnumaratorの構文的砂糖であることを知っています。 それはある種の遺産とGenericsの欠如ですか?
これは珍しいことではありません。私のVS 2017 RCは、オブジェクトが列であるようにあなたのコードを扱いますが、私はVS 2015のコピーを私は明示的にキャストするか、foreachで型を宣言しなければなりません。私はこれが何よりもIDEの問題だと思う。 – CDove
@CamiloTerevinto C#1.0で書かれたコードで、より良いオプションがないため、実際には 'DataColumn'インスタンスではないため、' object'です。 – Servy
XmlNodeのforeachで使用されているvarが実際の型を推測しない、オブジェクトのみの重複の可能性がありますか?](http://stackoverflow.com/questions/17106986/why-var-used-in-foreach-for-xmlnode-does -not-deduce-real-type-only-object) –