Как записать данные в поле структуры, являющееся массивом? - C#
Формулировка задачи:
Доброго времени суток! Есть задача: записать данные в поле структуры, являющееся массивом. Понимаю, что использование класса тут уместнее.В общем-то с ним проблем и не возникло.Но условие- использование именно структуры. Получился вот такой код
Никаких ошибок или варнингов Вижуал студия не кидает, но в структуру записывается только последний введённый массив. Укажите пожалуйста где тут заковыка, а то уже надоело с бубном плясать над задачей которая на С++ занимает не больше пары минут
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Structure
{
struct Student
{
public string fio;
public int nomer_gruppi;
public int[] marks;
public Student(string fio, int nomer_gruppi, int[] marks)
{
this.fio = fio;
this.nomer_gruppi = nomer_gruppi;
this.marks = new int[5];
}
public void Show()
{
Console.WriteLine("ФИО студента:{0}\nномер группы:{1}", fio, nomer_gruppi);
for (int j = 0; j < 5; j++)
{
Console.Write("Оценка " + (j + 1) + " -> {0} | ", marks[j]);
}
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите количество студентов для добавления: ");
int n = int.Parse(Console.ReadLine());
int[] mark = new int[5];
Student[] St = new Student[n];
for (int i = 0; i < n; i++)
{
St[i] = new Student();
}
for (int i = 0; i < n; i++)
{
Console.Write("Введите ФИО студента: ");
St[i].fio = Console.ReadLine();
Console.Write("Введите номер группы: ");
St[i].nomer_gruppi = int.Parse(Console.ReadLine());
Console.WriteLine("Успеваемость: ");
for (int j = 0; j < 5; j++)
{
Console.Write("Оценка " + (j + 1) + " -> ");
mark[j] = int.Parse(Console.ReadLine());
}
St[i].marks = mark;
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < 5; j++)
{
Console.WriteLine("итерация " + i + "итерация " + j + " {0} {1}", St[i].fio, St[i].marks[j]);
}
}
Console.ReadKey();
}
}
}Решение задачи: «Как записать данные в поле структуры, являющееся массивом?»
textual
Листинг программы
St[i].marks = mark.ToArray();