C#家庭作业问题:我们正在getting
和setting
进行练习,并以非常复杂的方式访问变量。
我有if...then
循环生成的用户消息:
if (condition a)
{String userMessage = "foo";}
else if (condition b)
{String userMessage = "bar";}
...etc.
我使用getter
访问userMessage
变量...
public String Result
{
get { return userMessage; }
}
...然后将消息输出到控制台。
Console.WriteLine(thegame.Result);
我收到来自Visual Studio 2010的信息性消息,在我为String userMessage =....
,Warning 5 The variable 'userMessage' is assigned but its value is never used
分配值的四行中。
是否收到此消息是因为我正在访问变量的迂回方式?或者是一个更大问题的症状?所有对在线消息的引用都是在声明一个从未使用的变量的上下文中......但在这种情况下我使用的是userMessage
变量。导致错误的原因是什么?
答案 0 :(得分:2)
您在条件范围内声明变量:
string userMessage; // class scope
...
if (condition) {
String userMessage = "blah"; // only available until the closing brace
} // out of scope here
这就是警告。您正在创建一个仅限于一行的变量..但从不使用它。
答案 1 :(得分:2)
if (condition a)
{userMessage = "foo";}
else if (condition b)
{userMessage = "bar";}
...etc.
它'因为你在每种情况下都定义了不同的变量。
答案 2 :(得分:1)
这是因为您在userMessage
块中定义了一个名为if
的新变量。从String
块中取出if
修饰符,您应该没问题。