Матрица в классе не инициализируеться с помощью конструктора в main, C#
Поле класса numbers - двумерний массив. В классе создал конструктор, который инициализирует этот массив случайными значениями (Array(int columns, int rows)). После того как вызвал конструктор в Main (Program.cs) массив не инициализировался, хотя при пошаговой отладке видно что он инициализировался.
Array.cs
public class Array
{
int[,] numbers;
int columns, rows;
int result = 0;
public Array()
{
}
public Array(int columns, int rows)
{
this.columns = columns;
this.rows = rows;
int[,] numbers = new int[this.rows, this.columns];
Random range = new Random();
for (int i = 0; i < this.rows; i++)
{
for (int j = 0; j < this.columns; j++)
{
numbers[i, j] = range.Next(1, 100);
Console.Write(numbers[i, j] + "\t");
}
Console.WriteLine("\n");
}
}
Program.cs:
Array array = new Array(3, 3);
Ответы (1 шт):
Автор решения: iKuzmychov
→ Ссылка
int[,] numbers = ...
В вышеуказанной строке вы создаёте новую переменную numbers и присваеваете ей значение, вместо того чтобы присвоить значение существующему полю. Уберите int[,]. В результате код будет выглядить так:
...
this.rows = rows;
numbers = new int[this.rows, this.columns]; // <------
Random range = new Random();
...
