C# 为什么我的局部变量有一半被标记为flakey,而其他的被接受?

C# 为什么我的局部变量有一半被标记为flakey,而其他的被接受?,c#,resharper,visual-studio-2013,C#,Resharper,Visual Studio 2013,要么我正在经历一个特别深刻的密集时刻,要么这里发生了一些非常奇怪的事情。我的代码可以编译,但我临时存储数据库读取的变量中有一半是“正常”的,其余的变量在声明的地方显示为灰色,在IDE使用的地方标记为红色: 为什么? 更新 我对这个项目进行了R#inspection,它唯一建议我修改代码的地方是: while (sqlD8aReader != null && sqlD8aReader.Read()) ……为此: while (sqlD8aReader.Read()) 你用的是

要么我正在经历一个特别深刻的密集时刻,要么这里发生了一些非常奇怪的事情。我的代码可以编译,但我临时存储数据库读取的变量中有一半是“正常”的,其余的变量在声明的地方显示为灰色,在IDE使用的地方标记为红色:

为什么?

更新 我对这个项目进行了R#inspection,它唯一建议我修改代码的地方是:

while (sqlD8aReader != null && sqlD8aReader.Read())
……为此:

while (sqlD8aReader.Read())

你用的是R#对吧?看起来像是重竖琴高亮显示?我偶尔会看到这种情况;通常它会在关闭文件后消失。旁注:通过索引访问数据库结果集列是一个糟糕的主意。是的,没有R#我不会离开家。我的意思是,我不想在没有R#的情况下编写代码。@B.ClayShannon:只要不更改查询,列顺序就不会更改。但这仍然是一个坏主意——您将代码绑定在一起,而不是绑定到数据,而是绑定到daya返回的顺序。如果这是一个存储过程,则可以在您不知情的情况下更改列序列。如果您决定将sql放入其他地方的常量中,它可能会在您不知道的情况下被更改。使用索引会得到什么?没什么。