【发布时间】:2018-11-04 06:06:33
【问题描述】:
我不希望所有对象都具有相同的名称。 我正在尝试使用变量(来自用户的输入)来创建对象。
为什么我不能这样做? :)
public class Student
{
public static int Count = 0;
public int ID { get; set; }
public string Name { get; set; }
Dictionary<int, Student> students = new Dictionary<int, Student>();
public Student (string name, int id)
{
Name = name;
ID = id;
}
public static void addStudent()
{
Student.Count++; // incrementing value for new student id.
Console.Write("Please enter student's name: "); // grabbing input from user.
string studentName = Console.ReadLine();
Console.WriteLine("Student ID value: {0}", Student.Count); // for testing.
int studentID = Student.Count;
/* Student (studentName) = new Student (studentName, studentID) -- The issue is with this line*/
Student added = new Student(studentName, studentID) // using this as a temp for now.
{
Name = studentName,
ID = studentID
};
}
}
【问题讨论】:
-
您好,您的代码已编译。究竟是什么问题?
-
哦等等...你将它标记为评论。
-
您不能动态命名您的类实例,但您可以修改它们的内部值,例如名称。为什么不直接创建一个新的
List<Student>然后附加到它上面? -
我注释掉了我要使用的代码行:“Student (studentName) = new Student (studentName, studentID)”。我不能使用此代码,因为它是我假设的变量?我不希望“添加”作为创建的每个新对象的名称。有意义吗?
-
addStudent和Students字典不应属于student类。
标签: c# object constructor