2012-08-22 3 views
2

나는이 새 질문을하기 때문에이 질문이 멍청 할 경우 나를 용서해주십시오. 그러나 나는 그것에 관해 아무것도 찾을 수 없다고 말하게한다. 새 인스턴스를 시작할 때마다C#에서 인스턴스 이름을 어떻게 자동으로 지정합니까?

, 당신은 갈 :

Word word1 = new Word(link, 24); 

그러나 말, 내가 자동으로 인스턴스 이름을 얼마나? 메소드가 자동으로 새 인스턴스를 만드는 경우 인스턴스의 고유 한 이름 (예 : word2, word3, word4 등)을 자동으로 선택하는 방법은 무엇입니까?

감사합니다.

+0

변수 이름이 어떻게 든 자동으로 선택되면 프로그램의 나머지 부분에서 어떻게 사용하겠습니까? – Vlad

+0

남자에게 사과 할 필요가 없습니다. 질문은 매우 정확하고 명확하며 코드를 포함 시켰습니다. 사람들의 도움을 원한다면 필요한 모든 것입니다. –

답변

7

인스턴스의 "목록"을 찾는 것처럼 들립니다. 다음

Dictionary<string, Word> words = new Dictionary<string, Word>(); 
words.Add("word1", new Word(link, 24)); 

을 수행 할 수 있습니다 : 다른 사람이 댓글을 달았대로 "변수"이름을 조회해야하는 경우

List<Word> words = new List<Word>(); 
words.Add(new Word(link, 24)); 

는, 사전 일하는 것이 너무 : 어떤 경우, 목록을 사용하여

if (words.ContainsKey("word1")) { 
    Word useWord = words["word1"]; 

또는 직접 클래스를 참조 : 그 문자열을 참조

words["word1"].SomeProperty... 
+0

"이름"이 목록의 항목 색인이됩니다. – ChaosPandion

+0

키를 사용하여 런타임에 각 인스턴스를 "이름 지정"할 수 있도록하려면 'Dictionary '을 사용할 수도 있습니다. 그 예제를 추가해 보겠습니다 :) –

2

C#과 같은 컴파일 된 언어에서는 이와 같은 작업을 수행 할 수 없습니다. 당신이 할 수있는 최선은 단어의 배열을 만드는 것입니다.

다른 주에
Word[] words = new Word[10]; 
words[0] = new Word(link, 24); 
... 

, 당신은 변수의 목적이 무엇인지 설명 할 것이라고 등의 단어 1, word2,보다 더 나은 이름을 생각했다?

3

여기에 개의 변수이라는 이름이 지정되어 있으며 인스턴스는이 아니라는 점을 이해해야합니다. 객체에는 일반적으로 이름이 없습니다.

List<Word> words = new List<Word>(); 
words.Add(new Word(link, 24)); 
... 

가 (또는 배열을 사용할 수 있습니다, 또는 무엇이든은 사용 사례에 가장 적합합니다.)

변수가 동적 동적으로 선언되지 않습니다 : 당신이 수집를 원한다면 다음, 단지 그렇게 말 C#의 이름 - 코드가 정확한 이름을 지정합니다.

이 방법이 도움이되지 않는다면 달성하고자하는 목표보다는 달성하려는 목표에 대해 알려주십시오.

관련 문제