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];