首页 > 解决方案 > C#如何从另一个方法传递数组

问题描述

我是 C# 的初学者,我需要一点帮助。我不确定如何从 CreateStudent() 中获取“studentArray”并在 ViewAllStudents() 中使用它。任何帮助表示赞赏!

        static void CreateStudent()
        {
            // User Inputs 
            Console.WriteLine("Student Name: ");
            var name = Console.ReadLine();
            Console.WriteLine("Student Surname: ");
            var surname = Console.ReadLine();
            Console.WriteLine("Student ID: ");
            var id = int.Parse(Console.ReadLine());

            var student = new Students(name, surname, id); // Student Constructor

            // Create Array and Resize it 
            Students[] studentArray = new Students[] { student };
            Array.Resize(ref studentArray, studentArray.Length + 1);
            studentArray[studentArray.GetUpperBound(0)] = student;

            Console.WriteLine($"Student {student.Name} {student.Surname} with ID {student.StudentId} is successfully created!");
        }
        static void ViewAllStudents()
        {
            foreach(var student in studentArray)
            {
                Console.WriteLine($"\t {student}");
            }
        }
    }
}

标签: c#

解决方案


将 CreateStudent 的返回类型从 void 更改为 Students[] 并返回 "studentArray" 。将 ViewAllStudents() 的参数类型更改为 "ViewAllStudents(Students[] studentArray )" 。我希望下面的工作。

static Students[] CreateStudent()
{
    // User Inputs 
    Console.WriteLine("Student Name: ");
    var name = Console.ReadLine();
    Console.WriteLine("Student Surname: ");
    var surname = Console.ReadLine();
    Console.WriteLine("Student ID: ");
    var id = int.Parse(Console.ReadLine());

    var student = new Students(name, surname, id); // Student Constructor

    // Create Array and Resize it 
    Students[] studentArray = new Students[] { student };
    Array.Resize(ref studentArray, studentArray.Length + 1);
    studentArray[studentArray.GetUpperBound(0)] = student;

    Console.WriteLine($"Student {student.Name} {student.Surname} with ID {student.StudentId} is successfully created!");
     return studentArray;
}

static void ViewAllStudents(Student[] studentArray)
{
    foreach(var student in studentArray)
    {
        Console.WriteLine($"\t {student}");
    }
}

推荐阅读