クラスStudent
の複数のインスタンスを作成Student
し、インスタンス名を S1、S2、S3..etc (1,2,3 は Student の ID になるため、インスタンス名は S+StudentID になります) として割り当てたいと考えています。ランタイム。これどうやってするの?
ありがとう。
プログラムの実行中に参照変数を作成することはできませんが、オブジェクト参照を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())
できることの 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();
何が必要かは本当に不明ですが、インスタンス名を生成する簡単な例を次に示します。
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);
}