2012-07-22 4 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]; 
관련 문제