문제

C#에서 동적 변수 (이름 지정에 대해 확실하지 않음)를 사용할 수 있습니까?

PHP에서는 할 수 있습니다

$var_1 = "2";
$var_2 = "this is variable 2";

$test = ${"var_".$var_1};

echo $test;

output: this is variable 2;

C#에서 이것을 할 수 있습니까?

도움이 되었습니까?

해결책

C#에서 사용합니다 사전 값을 문자열과 연결합니다.

다른 팁

아니, 기본적으로. 컴파일러는 메소드 변수가 (서면으로 형식) 존재하거나 이름이 있음을 보장하지 않습니다 ...

그들이 필드 (인스턴스 또는 정적)라면 반사를 사용하여 값을 얻을 수 있습니다. 그러나 메소드 변수는 아닙니다. 원하는대로 사전을 대체물로 사용 하시겠습니까?

var vars = new Dictionary<string,object>();
vars["var_1"] = "2";
vars["var_2"] = "this is variable 2";

Console.WriteLine(vars["var_" + vars["var_1"]]);

이것이 로컬 변수와 함께 작동하는지 확실하지 않으며 (그리고 대부분 인덱스로 저장된 이후로는 그렇지 않을 가능성이 높지만, 반사를 통해 클래스 속성에 액세스 할 수 있습니다.

당신의 경우 var 클래스 필드이면 정적을 사용할 수 있습니다. GetField 수업의 방법 Type 현재 값과 같은 필드 정보를 얻습니다.

당신은 간단한 배열을 찾고 있지 않습니까?

string[] myArray = new string[2];

myArray[0] = "2";
myArray[1] = "this is variable 2"

다른 whise 사전은 갈 길입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top