for 루프에서 var를 만들고 싶습니다.C#에서 동적 이름을 사용하여 변수를 만드는 방법은 무엇입니까?
for(int i; i<=10;i++)
{
string s+i = "abc";
}
이것은 변수 s0, s1, s2 ... s10을 작성해야합니다.
for 루프에서 var를 만들고 싶습니다.C#에서 동적 이름을 사용하여 변수를 만드는 방법은 무엇입니까?
for(int i; i<=10;i++)
{
string s+i = "abc";
}
이것은 변수 s0, s1, s2 ... s10을 작성해야합니다.
첫 번째 예는 변수 "i"를 다시 정의하려고 할 때 어떤 언어에서도 작동하지 않습니다. 루프 컨트롤에 int
이지만 루프 본문에 string
이 있습니다. 이 언어를 사용할 수있는 경우 eval
의
string[] s = new string[10];
for (int i; i< 10; i++)
{
s[i] = "abc";
}
사용 어떤 종류 :
는 업데이트 된 질문을 바탕으로 가장 쉬운 해결책은 (C#에서) 배열을 사용하는 것입니다.
언어에 따라 다릅니다.
일반적으로 사람들이 이것을 원할 때 올바른 것은 키 이름과 관련 값을 저장하는 해시 테이블/사전 /지도와 같은 데이터 구조를 사용하는 것입니다.
분명히 이것은 언어에 크게 의존합니다. 대부분의 언어에서는 불가능합니다. 자바 스크립트에서, 브라우저, 다음 작품 :
for (var i = 0; i<10 ; i++) { window["sq"+i] = i * i; }
은 이제 변수 SQ3, 예를 들어, 9. 당신은 아마 배열을 사용하려면
@Malvolio : +1 좋은 답변 –
로 설정됩니다. 그들은 C#을 (내가 자바 사람이야)에서 작동하는 방법을 내가 정확히 모르겠지만, 이런 식으로 뭔가 그것을 수행해야합니다
string[] s = new string[10];
for (int i; i< 10; i++)
{
s[i] = "abc";
}
그리고 http://msdn.microsoft.com/en-us/library/aa288453(VS.71).aspx
+1 도대체 OP가 얘기하고있었습니다. –
당신은 사전을 사용할 수 있습니다 읽어 보시기 바랍니다. 키 - 객체 값의 동적 이름 - 객체
Dictionary<String, Object> dictionary = new Dictionary<String, Object>();
for (int i = 0; i <= 10; i++)
{
//create name
string name = String.Format("s{0}", i);
//check name
if (dictionary.ContainsKey(name))
{
dictionary[name] = i.ToString();
}
else
{
dictionary.Add(name, i.ToString());
}
}
//Simple test
foreach (KeyValuePair<String, Object> kvp in dictionary)
{
Console.WriteLine(String.Format("Key: {0} - Value: {1}", kvp.Key, kvp.Value));
}
출력 :
Key: s0 - Value: 0
Key: s1 - Value: 1
Key: s2 - Value: 2
Key: s3 - Value: 3
Key: s4 - Value: 4
Key: s5 - Value: 5
Key: s6 - Value: 6
Key: s7 - Value: 7
Key: s8 - Value: 8
Key: s9 - Value: 9
Key: s10 - Value: 10
작업중인 어떤 언어? – ChrisF
동적 유형을 의미합니까? – exclsr
문맥을 지정하십시오 ... –