У меня есть многомерный массив, и я хочу умножить каждую его строку на одномерный массив, содержащий факторы, чтобы создать новый многомерный массив.Тем не менее, количество строк в многомерном массиве будет варьироваться от одного прогона к следующему, поэтому мне понадобится способ циклического перемножения каждой строки многомерного массива до достижения последней строки.
Вот простой пример, у меня есть многомерный массив: {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}
и я хочу умножить каждую строку на: {0,5, 0,4, 0, 0,8}
, чтобы получить: {{1 * 0,5, 2 * 0,4, 3 * 0, 4 * 0,8},{5 * 0,5, 6 * 0,4, 7 * 0, 8 * 0,8}, {9 * 0,5, 10 * 0,4, 11 * 0, 12 * 0,8}}
Я пытался использовать. Длинавнутри цикла for, используя пример кода.
double [] factors = {0.5, 0.4, 0, 0.8};
int [,] myarray = new int [3,4] {
{ 1, 2, 3, 4},
{ 5, 6, 7, 8},
{ 9, 10, 11, 12}
};
double [] output = new double[myarray.Length];
for(int i = 0; i < myarray.Length; ++i)
output[i] = myarray[i] * factors;
Я получаю синтаксические ошибки, что метод расширения 'Длина' не может быть применен к типу int, а также индексирование с помощью [] не может быть применено к типу int.