将变量设置为引用和单引号

时间:2014-11-26 16:09:09

标签: c#

正如您在我的代码中所看到的,我正在尝试为英寸和英尺定义变量,因此我可以在我的stringbuilder中使用它。

尝试将变量定义为string,char,var,不确定还要做什么。还尝试了@逃脱。

有什么想法吗?

 var footsize;
    if (dlFtSize.SelectedValue == "in")
    {
        footsize = '\"';
    }
    else if (dlFtSize.SelectedValue == "ft")
    {
        footsize = '\'';
    }

编辑:

正确的方法。

 string inchsize = "";
    if (dlinchSize.SelectedValue == "In")
    {
        inchsize = "\"";
    }
    else
    {
        inchsize = "'";
    }

4 个答案:

答案 0 :(得分:2)

  

当我使用char并尝试使用变量时,我使用了未分配的局部变量。

这是因为,就程序而言,dlFtSize.Selected值可能是“dfsklj”(或其他任何东西)。当你尝试使用它时,footsize没有与之相关的值。

您可以像这样初始化footsize:

string footsize = "";

或者,您可以使用if / else,而不是if / else if。

你应该可以使用类似的东西:

string footsize = "";
if (dlFtSize.SelectedValue == "in")
{
    footsize = "\"";
}
else if (dlFtSize.SelectedValue == "ft")
{
    footsize = "'";
}

除非您同时指定值,否则使用var将不起作用。字符串很好,但你必须为变量分配字符串(使用双引号而不是单引号。)char也应该有效,但是你可以使用单引号。

答案 1 :(得分:1)

var footsize;无效。您必须先为footsize指定一个值。然后你可以使用它。 (Implicitly Typed Local Variables)。

例如,var footsize = String.Empty;

然后你还需要更改你的作业:

if (dlFtSize.SelectedValue == "in")
{
    footsize = "'";
}
else if (dlFtSize.SelectedValue == "ft")
{
    footsize = "\"";
}

答案 2 :(得分:0)

在C#中,单引号用于定义字符文字。双引号用于定义字符串文字。要定义英寸和英尺,可以使用不同的常量标准值。

答案 3 :(得分:0)

  

当我使用char并尝试使用变量时,我使用了未分配的局部变量。

您需要确保为footsize分配值。我建议您将代码更改为以下内容:

char footsize;

switch (dlFtSize.SelectedValue)
{
    case "in":
        footsize = '"';
        break;
    case "ft":
        footsize = '\'';
        break;
    default:
        throw new NotImplementedException(string.Format("Not implemented foot size: `{0}`", dlFtSize.SelectedValue));
}

此外,如果没有使用值初始化var,则不能使用{{1}},以便编译器可以告诉变量的类型。