foreach语句中都需要类型和标识符

时间:2014-03-18 10:58:04

标签: c#

我在'in'中遇到'foreach(col in dt.Columns)'中的错误,表示在foreach语句中都需要Type和Identifier。以下是我的代码。任何帮助都非常感谢。谢谢

dt.TableName = "HL_IMG_TABLE";

DataColumn col = null;
foreach (col in dt.Columns)
{
   col.ColumnMapping = System.Data.MappingType.Attribute;
}

4 个答案:

答案 0 :(得分:1)

您需要在范围内包含迭代变量,因为来自MSDN

  

迭代变量对应于只读的局部变量   扩展嵌入语句

的范围

所以,以下应该是您正在寻找的

foreach (DataColumn col in dt.Columns)
{
     col.ColumnMapping = System.Data.MappingType.Attribute;
}

答案 1 :(得分:1)

您需要在循环的内部范围中包含变量的数据类型:

foreach (DataColumn col in dt.Columns)
{
    col.ColumnMapping = System.Data.MappingType.Attribute;
}

除非您打算在其他地方使用

,否则您不需要在范围之外声明类型DataColumn的变量

或者如果您愿意,可以使用推断类型

foreach (var col in dt.Columns)
{
    col.ColumnMapping = System.Data.MappingType.Attribute;
}

有些人喜欢它,有些人讨厌它:)

答案 2 :(得分:0)

试试这个:

            foreach (DataColumn  col in dt.Columns)
            {
                   /* do something here*/
            }

答案 3 :(得分:0)

您未指定col的类型。

foreach (DataColumn foreach_col in dt.Columns)
{      //^
    foreach_col.ColumnMapping = System.Data.MappingType.Attribute;
}

DataColumn col = null;foreach_col不同。