2

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

每当您启动一个新实例时,您都会执行以下操作:

Word word1 = new Word(link, 24);

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

预先感谢!

4

3 回答 3

7

听起来您正在寻找实例的“列表”。在这种情况下,使用 List:

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

正如其他人评论的那样,如果您需要按名称查找“变量”,字典也可以:

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...
于 2012-08-22T22:30:33.000 回答
3

重要的是要了解您在那里命名变量,而不是实例。对象通常没有名称。接下来,如果你想要一个集合,就这么说吧:

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

(或者你可以使用一个数组,或者任何最适合你的用例的东西。)

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

如果这对您没有帮助,请告诉我们更多关于您想要实现的目标,而不是您期望如何实现它。

于 2012-08-22T22:31:07.200 回答
2

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

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

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

于 2012-08-22T22:30:51.850 回答