我有类Student
,我想创建类的多个实例,Student
并希望将实例名称分配为 S1,S2,S3..etc(1,2,3 将是学生的 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())
您可以做的一件事是在 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();
它真的不清楚你想要什么,但这是一个如何生成实例名称的简单示例:
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);
}