如何自动在C#中命名实例?

时间:2012-08-22 22:28:22

标签: c# class methods instance

我是新来的,如果这个问题很愚蠢,请原谅我。但是,让我说我找不到任何东西。

每当你开始一个新实例时,你都会去:

Word word1 = new Word(link, 24);

但是,我怎么自动命名实例?如果方法自动创建新实例,它如何自动为实例选择唯一名称,例如word2,word3,word4等。

提前感谢!

3 个答案:

答案 0 :(得分:7)

听起来你正在寻找一个"列表"实例。在这种情况下,请使用List:

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

正如其他人所评论的那样,如果你需要查找&#34;变量&#34;按名称,字典也可以使用:

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

然后您可以通过该字符串引用它:

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

或直接引用该课程:

words["word1"].SomeProperty...

答案 1 :(得分:3)

了解您在那里命名变量非常重要,而不是实例。对象通常没有名称。接下来,如果您想要集合,请这样说:

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

(或者您可以使用数组,或者最适合您的用例的任何内容。)

永远不会使用C#中的动态名称动态声明变量 - 您的代码指定了确切的名称。

如果这对您没有帮助,请告诉我们您要实现的目标,而不是您希望如何实现目标。

答案 2 :(得分:2)

你不能用像c#这样的编译语言做同样的事情。你能做的最好的事情是创建一个单词数组。

Word[] words = new Word[10];
words[0] = new Word(link, 24);
...

另一方面,您是否考虑过比word1,word2等更好的名称,这可以解释变量的用途是什么?