我如何传递我的列表作为参数的方法
本文关键字:参数 方法 列表 何传递 我的 | 更新日期: 2023-09-27 17:49:35
我想把我的列表作为参数发送给函数。我想这样做:
public class SchoolClass
{
private int index = 0;
private string name = string.Empty;
private List<Student> students = new List<Student>();
public List<Student> Students
{
get { return students; }
set { students = value; }
}
public void AddStudent(string name, int age)
{
Student newStudent = new Student();
newStudent.Name = name;
newStudent.Age = age;
if (Students.Contains(newStudent))
{
Students.Add(newStudent);
Console.WriteLine(newStudent.ToString());
Console.ReadLine();
}
}
public void RemoveStudent(int studentId)
{
Student foundStudent = Students.Where(x => x.Id == studentId).FirstOrDefault();
if (foundStudent != null)
{
Students.Remove(foundStudent);
}
}
public void CheckIfClassEampty(List<Student> students) <----here
{
}
实现这一点的最好方法是什么?
由于CheckIfClassEmpty是类的一部分,您根本不需要将列表作为参数传递。您可以访问内部字段和属性,例如
public bool CheckIfClassEmpty()
{
// access Students or students directly
}
如果你想要传递你的列表作为一个参数,那么你的方法签名是正确的,你只需要传递数据,例如
var school = new SchoolClass();
school.CheckIfClassEmpty(school.Students);
如果我理解对了你的问题,那么
不能传递属性作为方法参数,而是传递支持变量。
很难知道你在问什么,但我怀疑这将实现你想要的:-
public bool HasStudents()
{
return students.Any();
}
我已经改变了方法的标题,因为我认为HasStudents可能是你想要实现的更好的名字