这段代码在Visual Studio 2019中生成了信息提示消息:
*严重程度 代码 描述 项目文件 行 抑制状态 原因描述
消息IDE0059
不必要地对'i'进行了赋值
避免在代码中进行不必要的值分配,因为这些很可能表示冗余的值计算。如果值计算不是多余的,并且您打算保留赋值,则将赋值目标更改为一个本地变量,其名称以下划线开头,后面可以跟一个整数,例如'_', '_1','_2'等。这些被视为特殊的丢弃符号名称。
代码片段可以正常工作,但我被IDE0059消息所困扰。如果可能的话,我不想抑制它。
这里出了什么问题?是假阳性还是我漏掉了什么?
这段代码在 VS2019 中也会产生 IDE0059 警告:
不必要地对'i'进行了赋值
避免在代码中进行不必要的值分配,因为这些很可能表示冗余的值计算。如果值计算不是多余的,并且您打算保留赋值,则将赋值目标更改为一个本地变量,其名称以下划线开头,后面可以跟一个整数,例如'_', '_1','_2'等。这些被视为特殊的丢弃符号名称。
代码片段可以正常工作,但我被IDE0059消息所困扰。如果可能的话,我不想抑制它。
private static XmlDocument LoadXmlFromFile(string xmlPath)
{
XmlDocument doc = new XmlDocument();
int i = 2;
while (true)
{
try
{
using (Stream fileStream = System.IO.File.Open(xmlPath, FileMode.Open, FileAccess.Read, FileShare.None))
{
doc.Load(fileStream);
}
return doc;
}
catch (IOException) when (i > 0)
{
i--;
Thread.Sleep(100);
}
}
}
这里出了什么问题?是假阳性还是我漏掉了什么?
这段代码在 VS2019 中也会产生 IDE0059 警告:
private static XmlDocument LoadXmlFromFile(string xmlPath)
{
XmlDocument doc = new XmlDocument();
int i = 2;
while (true)
{
try
{
using (Stream fileStream = File.Open(xmlPath, FileMode.Open, FileAccess.Read, FileShare.None))
{
doc.Load(fileStream);
}
return doc;
}
catch (IOException)
{
if (i == 0)
{
throw;
}
i--;
Thread.Sleep(100);
}
}
}
i
为0
并且您获得另一个异常时,您希望发生什么? - Herohtar