C# 我在一个if块中分配了多个变量,这些变量在if块外引用,但我又添加了两个变量,它们赢了';好像不行
我在if中分配了classability1和2,并且{12}和{13}最终未分配。我不确定我在这里做错了什么,但可能很简单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";
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
可能没有实际执行。