2

私はここにいるのは初めてなので、この質問がばかげている場合はご容赦ください。しかし、私はそれについて何も見つけることができなかったと言わせてください。

新しいインスタンスを開始するたびに、次のようになります。

Word word1 = new Word(link, 24);

しかし、インスタンスに自動的に名前を付けるにはどうすればよいでしょうか? メソッドが新しいインスタンスを自動的に作成する場合、インスタンスの一意の名前 (word2、word3、word4 など) を自動的に選択するにはどうすればよいでしょうか。

少し早いですがお礼を!

4

3 に答える 3

7

インスタンスの「リスト」を探しているようです。その場合、リストを使用します。

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 に答える