Здесь я хочу создать класс ученика внутри пакетного класса и использовать их с помощью класса List, как мне создать объект обоих классов для List ...

Пример, если я хочу найти имя студента из партии, как мне это сделать ...

 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;

 namespace Challenge
 {
     class student
    {
        string student_name;
       int age, rollnumber;

       public student(string student_name, int age, int rollnumber)
      {
            this.age = age;
            this.student_name = student_name;
            this.rollnumber = rollnumber;


       }
     }

  class batch
  {
     string batch_name;
     int fees, duration;

      public batch(string batch_name,int fees,int duration)
      {
        this.batch_name = batch_name;
        this.fees = fees;
        this.duration = duration;


     }
 }

  class Program
 {
      static void Main(string[] args)
      {
         List<batch> obj = new List<batch>();

      }
  }  
}
c#
-1
rahul shinde 14 Окт 2018 в 21:42

1 ответ

Лучший ответ

Не очень понятно, что вы хотите сделать, но я постараюсь помочь. Насколько я понимаю, вы хотите создать коллекцию Batch es, где каждый Batch содержит коллекцию Student s.

Объявите свойство List<Student> в классе Batch:

public class Batch
{
    public string Name { get; set; }
    public int Fee { get; set; }
    public int Duration { get; set; }
    public List<Student> Students { get; set; }
}

public class Student
{
    public string Name { get; set; }
    public int RollNumber { get; set; }
    // Date of birth instead of age, as explained in comment by Dour High Arch.
    public DateTime DateOfBirth { get; set; } 
}

Теперь вы можете создать список партий:

        var batches = new List<Batch>
        {
            new Batch
            {
                Name = "Batch 1",
                Duration = 100,
                Fee = 200,
                Students = new List<Student>
                {
                    new Student
                    {
                        Name = "Student 1",
                        DateOfBirth = DateTime.Today,
                        RollNumber = 1
                    },
                    new Student
                    {
                        Name = "Student 2",
                        DateOfBirth = DateTime.Today,
                        RollNumber = 2
                    }
                }
            }
        };

Список ваших партий может быть повторен как:

foreach (var batch in batches)
{
    Console.WriteLine($"Batch: {batch.Name}");
    foreach (var student in batch.Students)
    {
        Console.WriteLine($"Student: {student.Name}");
    } 
}
1
kaffekopp 14 Окт 2018 в 20:11