2

我有类Student,我想创建类的多个实例,Student并希望将实例名称分配为 S1,S2,S3..etc(1,2,3 将是学生的 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

您可以做的一件事是在 Student 类中有一个变量,为它们提供一个唯一的名称。正如 AVD 所说,您仍然必须将它们存储在 List 或 Dictionary 中,但这样您就可以使用 linq 或 select 查询通过您的给定名称查找它们,只要您设置变量。

学生班;

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 回答