Я пытаюсь провести l oop через массив объектов и распечатать их свойства из другого класса.
Мой основной класс -
class Program
{
static void Main()
{
//This to be change to relative path
string Path = @"C:\Users\";
string[] lines = { }; ;
//Reading file
if (File.Exists(Path))
{
lines = File.ReadAllLines(Path);
StudentReport.ReadStudents(lines);
}
else
{
Console.WriteLine("The file does't exist");
}
//Printing Students
PrintStudent.Print(lines.Length);
}
}
Я использую это код для объявления массива
public class StudentReport
{
public static void ReadStudents(string[] Lines)
{
//declare an array with the number of students
Student[] studentArray = new Student[Lines.Length];
int StudentCounter = 0;
foreach (string Line in Lines)
{
String[] Student = Line.Split(',');
//Calculating values
string ID = Student[0].PadLeft(10, '0');
string name = Student[1];
//Initialize the object
studentArray[StudentCounter] = new Student
{
FullName = name,
ID = ID,
};
StudentCounter++;
}
}
}
И я использую этот класс для создания объекта моего студента
class Student
{
public string FullName { get; set; }
public string ID { get; set; }
}
Чтобы вывести свойства объекта студента, я создал другой класс. Проблема в том, что я не смог получить доступ к значению массива объектов из моего нового класса.
Класс, который я создал для целей вывода, следующий, но я не могу получить значения. Ошибка: «Студент не содержит определения для массива студента
public class PrintStudent
{
public static void Print(int StudentCounter)
{
for(int i = 0; i > StudentCounter; i++)
{
Console.WriteLine(Student.studentArray[i].FullName);
}
}
}