VS C# 关于赋值后未被调用的警告
发布网友
发布时间:2024-10-03 13:30
我来回答
共1个回答
热心网友
时间:2024-11-20 19:08
在VS中有两个级别:Waring(警告),Error(错误)你想过这两个名词的不同么?
如果知道了你就不要挂在心上了!
但据我所知,一般遇到未赋值使用的情况是你的只进行声明或是赋值了,但却没有任何的调用。这种情况下会出现这种警告,——不用你干嘛声明呢?完全可以删除嘛,浪费一个内存单元。
另一种情况是VS的一种误读——我之所以说误读,其实是在庇护程序员。也就是说在分支结构中,某一个分支没有调用。换句话来说,你程序运程时在某种情况下会形成一种不调用的情况!这时也会出现这种警告,但是在分支的另一些情况下用到了,所以你又不能删除了事,而这个警告你可以无视。
为什么我会说是在庇护程序员呢?因为这种情况是在定程序时一定出了问题,结构上不合理,但很多新手却能写这样不合理的结构,运行下去也没有任何问题的。是程序员在设计流程时不合理所致的,那么这种情况就会出现,严格说来是程序员的问题——但有些程序员只讲求达到目的,而什么代码优雅,时空代码全然不管。对于这种程序员,他真真正正的达到了目的,可是你又不能要求他的代码优雅,所以我们能说程序员的错误么?如果不能那么,只能说是VS的误报了!其实如果出现这种情况,一般说明,你的代码根本不够优雅,必定还有更好的办法。
那么这个错误你就明白是什么原因了就行了,如果你对自己代码要求高,那么这个就不能出现。如果也只是达到目的而已,那么可以无视。
举个例子重现这个错误吧:
public void Method()
{
string temp = ""; //声明并赋空值
if(条件)
{
temp = xxxx;
//在此处temp不停地使用了
}
else
{
//不对temp有任何的使用
}
//不对temp有任何的使用
}
这段代码如果走else分支,你会发现,你等于只声明了一个temp。所以就会报这个错误了!
但如果将这句代码放在if分支中,就可以解决这种情况了!
如果是多分支的情况下,要么每个分支中均声明,要么每个分支中均使用,否则会报这种的错误的!那么一般说明程序设计出了问题的!
对比你的程序,是不是这种情况呢?