2

我正在尝试在引号内使用引号。它在文本框内工作,但不在我需要字符串的地方。例如,第一行代码有效,但我需要将字符串作为变量。

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

但接下来的 3 个没有。我最终尝试使用richTextBox1.Text 作为变量,因为它在那里看起来很好但没有运气。

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

我尝试了许多不同的“”变体。我错过了什么?谢谢。

4

1 回答 1

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];
于 2012-07-22T02:49:32.383 回答