-2
while (rdr.Read())         
{
    imgno = rdr.GetString(0);
}
HttpContext.Current.Response.Write(imgno);          

此代码生成错误

(Error 5 Use of unassigned local variable 'imgno')

4

1 回答 1

2

大概您在此代码上方声明了变量,如下所示:

string imgno;
while (rdr.Read())
{
    imgno = rdr.GetString(0);
}
HttpContext.Current.Response.Write(imgno);

编译器不能保证永远会进入循环。实际上,在任何rdr不返回记录的情况下,都会跳过循环。在那种情况下,imgno永远不会被分配一个值。由于编译器无法保证,因此代码无法编译。

只需为变量分配一个默认值:

string imgno = string.Empty;
于 2017-08-20T13:53:09.947 回答