2012-07-22 109 views
2

我試圖在引號內部使用引號,它在文本框內工作,但不是我需要字符串的位置,例如,第一行代碼有效,但我需要的字符串是一個變量。雙引號「」「?

pictureBox1.Image = MediaLib.Get["chestarmor_105"]; 

但接下來的3不要。最後我嘗試使用richTextBox1.Text作爲變量,因爲它似乎沒有運氣細那裏。

string chestArmor = "chestarmor_105"; 
richTextBox2.Text = "\"" + chestArmor + "\""; 
pictureBox1.Image = MediaLib.Get[richTextBox2.Text]; 

我試過了許多不同的「」變體,我錯過了什麼?謝謝。

回答

5

第一行中的雙引號是編譯器將字符串文字與變量名稱區分開來的語法工件。他們不在線中;該字符串是chestarmor_105,不帶雙引號。

如果你寫

pictureBox1.Image = MediaLib.Get[chestarmor_105]; // no quotes 

編譯器會認爲chestarmor_105代表的標識;你用雙引號括起chestarmor_105來告訴編譯器,你希望將它用作14個字符的字符串,而不是作爲變量名。編譯器然後刪除雙引號,並將該值用作字符串。

這應該工作:

string chestArmor = "chestarmor_105"; 
richTextBox2.Text = chestArmor; 
pictureBox1.Image = MediaLib.Get[richTextBox2.Text];