Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我在一个if块中分配了多个变量,这些变量在if块外引用,但我又添加了两个变量,它们赢了';好像不行_C#_Variables_If Statement - Fatal编程技术网

C# 我在一个if块中分配了多个变量,这些变量在if块外引用,但我又添加了两个变量,它们赢了';好像不行

C# 我在一个if块中分配了多个变量,这些变量在if块外引用,但我又添加了两个变量,它们赢了';好像不行,c#,variables,if-statement,C#,Variables,If Statement,我在if中分配了classability1和2,并且{12}和{13}最终未分配。我不确定我在这里做错了什么,但可能很简单 else if (Class == "Cleric" || Class == "cleric") { Class = "Cleric"; AD = 5; AP = 25; AS = 10; mana = 250; classability1 = "Heal";

我在if中分配了classability1和2,并且{12}和{13}最终未分配。我不确定我在这里做错了什么,但可能很简单

else if (Class == "Cleric" || Class == "cleric")
    {
        Class = "Cleric";
        AD = 5;
        AP = 25;
        AS = 10;
        mana = 250;
        classability1 = "Heal";
        classability2 = "Smite";
    }

    Console.Clear();
    Console.WriteLine(@"Name           = {0}
                        Race           = {1}
                        Class          = {2}
                        ----------------------
                        Attack Damage  = {3}
                        Ability power  = {4}
                        Attack Speed   = {5}
                        Armor          = {6}
                        Magic Resist   = {7}
                        Health         = {8}
                        Mana           = {9}
                        ----------------------
                        Racial Bonuses
                        {10}
                        {11}
                        -----------------------
                        Class Abilities
                        {12}
                        {13}
                        Push enter to continue...", name, race, Class, AD, AP, AS, armor, magres, health, mana,    racialbonus1, racialbonus2, classability1, classability2);
    Console.ReadKey();

如前一张海报所述,请张贴整个代码块。听起来确实很像

else if (Class == "Cleric" || Class == "cleric")
{
    Class = "Cleric";
    AD = 5;
    AP = 25;
    AS = 10;
    mana = 250;
    classability1 = "Heal";
    classability2 = "Smite";
}

没有被执行。另一种可能性是if语句和
控制台之间可能有额外的代码。请编写帖子中未显示的
行并重新初始化/取消字符串?

尝试在声明中用“”指定classability1和classability2,这样编译器就不会将其视为未指定。例如

string classability1 = "";
string classability2 = "";
if (/*something*/)
{
   // your code
}
else if (/*something*/)
{
   // your code
}

如果您不想遵循上面的提示,您必须有一个'else'语句,其中包含对classability1和classability2变量的赋值,否则编译器会将这些变量视为未赋值。

您确定已执行条件块吗?您能给我们显示您得到的输出吗?显示其余代码,包括if语句和程序执行为什么这个问题会得到一个向上投票-这样用户有时会感兴趣。我认为在这段时间我们有一些很好的人:-)使用调试器逐步检查代码,确保它按照您认为的方式执行。
if
可能没有实际执行。