我如何传递我的列表作为参数的方法

本文关键字:参数 方法 列表 何传递 我的 | 更新日期: 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可能是你想要实现的更好的名字