簡體   English   中英

在C#類中創建列表

[英]Creating a List in a C# Class

對其他人來說,這可能看起來很簡單。 但這對我來說很難。 我的代碼是這樣的,用於學習C#。 我想從List<Employee>檢索信息並使方法Display()工作。 希望有人能給我實用的建議。

class Program
{
    static void Main(string[] args)
    {
        List<Employee> employee = new List<Employee>();
        employee.Add(new Employee("Sudhakaran"));
        employee.Add(new Employee("Unnikrishnan"));
        employee.Add(new Employee("Meenakumari"));
        employee.Add(new Employee("Vijaya Lekshmi Menon"));
        employee.Add(new Employee("Seetha Devi Amma"));
        employee.Add(new Employee("Reghunathan Pillai"));
        employee.Add(new Employee("Parameswaran"));
        employee.Add(new Employee("Vani Parameswaran"));
        employee.Add(new Employee("Man Mohan"));
        employee.Add(new Employee("Anil Kumar"));
        employee.Add(new Employee("Athira"));

        //foreach (string emp in employee) //Not working.
        //{
        //}
    }
    public class Employee
    {
        public string name { get; set; }

        public Employee(string name)
        {
            this.name = name;
        }

        public List<string> ENames = new List<string>();

        public Employee()
        {
            Display();
        }

        public void Display()
        {
            foreach (string item in ENames)
            {
                Console.WriteLine(item);
            }
            Console.ReadLine();
        }
    }
}

employee是Employee列表而不是string 因此, emp必須是Employee類型。

foreach (Employee emp in employee)
{
    emp.Display();
}

你也可以使用foreach(var emp in employee) 這並不意味着var是任何類型的,它是強類型的。 參見var的文檔

foreach (Employee emp in employee) // changed 
{
    Console.WriteLine(emp.name); // Write employe name to console
}

我無法看到你使用ENames是什么。 您可以使用以下內容遍歷列表:

static void Main(string[] args)
{
    List<Employee> employee = new List<Employee>();
    employee.Add(new Employee("Sudhakaran"));
    employee.Add(new Employee("Unnikrishnan"));
    employee.Add(new Employee("Meenakumari"));
    employee.Add(new Employee("Vijaya Lekshmi Menon"));
    employee.Add(new Employee("Seetha Devi Amma"));
    employee.Add(new Employee("Reghunathan Pillai"));
    employee.Add(new Employee("Parameswaran"));
    employee.Add(new Employee("Vani Parameswaran"));
    employee.Add(new Employee("Man Mohan"));
    employee.Add(new Employee("Anil Kumar"));
    employee.Add(new Employee("Athira"));

    foreach (Employee emp in employee) //Not working.
    {
        emp.Display();
    }
    Console.ReadLine();
}

public class Employee
{
    public string name { get; set; }

    public Employee(string name)
    {
        this.name = name;
    }

    public void Display()
    {
        Console.WriteLine(name); 
    }
}

其中必不可少的部分是迭代員工列表而不是字符串:

 foreach (Employee emp in employee) //Not working.
 {
      emp.Display();
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM