我在后面的代码中有以下代码块:
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
。