我在后面的代码中有以下代码块:

while (DT1.Read())
{
  //Read the record into an "array", so you can find the SProc and View names
  int MyRptID = Convert.ToInt32(DT1[0]);
  string MyRptName = DT1[1].ToString();
  string MyRptSproc = DT1[2].ToString();
  string MySQLView = DT1[3].ToString();

  if (string.IsNullOrWhiteSpace(this.txtStartDate.Text))
  {
     DateTime MyStDate = Convert.ToDateTime(this.txtStartDate.Text);
  }

  if (MyStDate != null)
  {
    cmd2.Parameters.Add("@StDate", SqlDbType.Date).Value = txtStartDate.Text;
  }


MyStDate用红色下划线标出,当我将鼠标悬停在其上时,会出现一个弹出窗口,指出“名称'MyStDate'在当前上下文中不存在。”谁能告诉我为什么呢?它是否与括号无关?如果是这样,我如何使它工作?

最佳答案

MyStDate的范围是if条件。变量在其范围之外不可见,因此您需要在MyStDate之外声明if

09-25 23:48