2012-10-26 45 views
3

我在if和{12}和{13}中分配了classability1和2,最終未分配。我不確定我在這裏做錯了什麼,但它可能很簡單。我在if塊中引用了多個變量,但是我添加了兩個它們看起來不起作用

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(); 
+4

你確定條件塊被執行了嗎? – codingbiz

+0

你能告訴我們你得到的輸出嗎? – Enigmativity

+0

顯示代碼的其餘部分,包括if語句和程序執行 – EdmundYeung99

回答

0

如前一張海報所述,請張貼整個代碼塊。它聽起來很像

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

沒有被執行。另一種可能是if語句和Console.Write行之間可能存在額外的代碼,這些代碼在您的文章中未顯示,並且正在重新初始化/取消該字符串?

0

嘗試在其聲明中用「」分配classability1和class2,這樣編譯器就不會將其視爲未分配。例如。

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

如果你不喜歡按照上述提示,你必須有一個分配給你的classability1和classability2變量的「其他」語句,否則你的編譯器將這些變量賦值。

相關問題