首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

为什么无法执行?新手刚学,多谢

2012-01-01 
为什么无法执行?新手刚学,谢谢!stringcomparisonConsole.WriteLine( Enteranumber: )doublevar1Conve

为什么无法执行?新手刚学,谢谢!
string   comparison;
                        Console.WriteLine( "Enter   a   number: ");
                        double   var1   =   Convert.ToDouble(Console.ReadLine());
                        Console.WriteLine( "Enter   another   number: ");
                        double   var2   =   Convert.ToDouble(Console.ReadLine());
                          if   (var1   <   var2)
                                comparison   =   "less   than ";
                        if   (var1   ==   var2)
                                comparison   =   "equal   to ";
                        if   (var1   >   var2)
                                comparison   =   "greater   than ";
                            Console.WriteLine( "The   first   number   is   {0}   the   second           number. ",   comparison);//怎么能有错误呢?提示说Use   of   unassigned   local   variable   'comparison '
                        Console.ReadKey();

[解决办法]
它不知道前面3个if已经包括了所有可能,认为还存在没有给comparison赋值的可能,因此报错
可以事先先给comparison赋一个 " "
string comparison= " ";
或者改一下判断
if (var1 < var2)
comparison = "less than ";
else if (var1 == var2)
comparison = "equal to ";
else
comparison = "greater than ";
[解决办法]
local变量要先赋值再使用

string comparison = string.Empty;//-------> 这里改成这样
Console.WriteLine( "Enter a number: ");
double var1 = Convert.ToDouble(Console.ReadLine());
Console.WriteLine( "Enter another number: ");
double var2 = Convert.ToDouble(Console.ReadLine());
if (var1 < var2)
comparison = "less than ";
if (var1 == var2)
comparison = "equal to ";
if (var1 > var2)
comparison = "greater than ";
Console.WriteLine( "The first number is {0} the second number. ", comparison);
Console.ReadKey();

[解决办法]
string comparison; -> string comparison= " ";

编译器会检查变量使用时是否有初始值,否则编译通不过.
好象回答了一个远古问题...
------解决方案--------------------


由于你的判断if语句出口不全(缺少else),所以可能comparison没有进行初始化或赋值就是用,所以会出错
[解决办法]
结帖方法:点击帖子右上的“管理”链接,进入管理页面,在要给分的回复后的文本框中填写分数,然后输入自己的密码,点击“给分”按钮。结帖图例http://community.csdn.net/over.htm

热点排行