获取和设置如何影响变量的分配

本文关键字:影响 变量 分配 设置 何影响 获取 | 更新日期: 2023-09-27 18:07:20

C#作业问题:我们正在做gettingsetting的练习,并以一种非常复杂的方式访问变量。

我有一个由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变量。错误的原因是什么?

获取和设置如何影响变量的分配

您在条件的作用域中声明变量:

string userMessage; // class scope

...
if (condition) {
     String userMessage = "blah"; // only available until the closing brace
} // out of scope here

这就是警告。您正在创建一个范围仅为一行的变量。。但从不使用它。

if (condition a)
{userMessage = "foo";}
else if (condition b)
{userMessage = "bar";}
...etc.

因为你在每个条件下都定义了不同的变量。

这是因为您在if块中定义了一个名为userMessage变量。将String修饰符从if块中取出,您应该可以了。