2

クラスStudentの複数のインスタンスを作成Studentし、インスタンス名を S1、S2、S3..etc (1,2,3 は Student の ID になるため、インスタンス名は S+StudentID になります) として割り当てたいと考えています。ランタイム。これどうやってするの?

ありがとう。

4

3 に答える 3

4

プログラムの実行中に参照変数を作成することはできませんが、オブジェクト参照をList(Of Student)またはDictionary(Of String, Student)コレクションに保存できます。

 Dim stdList As New List(Of Student)
 stdList.Add(New Student())

または

Dim stdMap As New Dictionary(Of String, Student)
stdMap.Add("s1", New Student())
于 2012-12-19T09:09:52.750 に答える
1

できることの 1 つは、学生クラスに一意の名前を付ける変数を用意することです。AVDが言ったように、リストまたはディクショナリのいずれかにそれらを保存する必要がありますが、この方法では、変数を設定する限り、linqまたは選択クエリを使用して、指定した名前でそれらを見つけることができます.

学生クラス;

studentName {get;set;}

あなたが作成する場所。

List<Student> mListStudent = new List<Student>()

For(int i = 0; i >= HoweverManyYouWantToCreate; i++)
 {
 //declare student variables
 Student student = new Student();
 studentName = i+studentID;
 mListStudent.Add(Student);
}

次に、LINQ のようなものを使用して取得できます。

var selectedStudent = (from students in mListStudents
                           where students.studentName == "searchParam"
                           select students).Single();
于 2012-12-19T09:16:16.640 に答える
0

何が必要かは本当に不明ですが、インスタンス名を生成する簡単な例を次に示します。

List<Student> students = new List<Student>();

for(int i = 0; i < 10; i++)
{
     int id = i;
     string instanceName = String.Format("S{0}", id);
     Student s = new Student(instanceName);
     students.Add(s);
}
于 2012-12-19T09:14:16.370 に答える