无法在此范围内声明名为“e”的本地或参数

时间:2017-09-15 19:39:41

标签: c# linq

我正在尝试使用此代码:

var controls = new[] { txtName, txtIdentityCard, txtMobile1 };
foreach (var control in controls.Where(e => String.IsNullOrEmpty(e.Text))) // error here in (e)
{
    errorProvider1.SetError(control, "Please fill the required field");
}

检查我的一个文本框是否为空,但它出现以下错误:

  

无法在此范围内声明名为“e”的本地或参数   因为该名称用于封闭的本地范围来定义   本地或参数

任何帮助?

1 个答案:

答案 0 :(得分:2)

由于错误明确表示您无法使用e,因为它已经在其他地方使用过,例如在您的事件处理程序或其他地方:

private void Form1_Load(object sender, EventArgs e)//Here for example

尝试别的事情(c):

controls.Where(c => String.IsNullOrEmpty(c.Text)))

您还需要在errorProvider1.Clear();声明下方添加此controls