Глобальное объявление и использование массива объектов C # - PullRequest
0 голосов
/ 23 апреля 2019

; Ожидается в (около "}") proc = {new Process (i, bts [i], 1)};

Я не знаю, как это исправить. Я думаю, что это какая-то проблема синтаксиса

//code starts  
Process[] proc = new Process[3];

public void prentry()
{
    int[] bts = new int[999];
    for (int i = 1; i <= n; i++)
    {
        string txtid = "TextBox" + i;
        // MessageBox.Show();
        bts[i] = Convert.ToInt32(((TextBox)(this.Controls[(txtid)])).Text);
        proc = { new Process(i, bts[i], 1) }; //problem here                
    }
    GFG.findavgTime(proc, proc.Length);

Ответы [ 2 ]

2 голосов
/ 23 апреля 2019

Это распространенная проблема при изучении этого нового синтаксиса для инициализации массивов.Можно легко перепутать следующие два, чтобы сделать то же самое, и оба работают:

int[] a = { 1, 2, 3 };

и

int[] a;
a = { 1, 2, 3 };

, но, к сожалению, это не так.Синтаксис = { elements } разрешен только при объявлении переменной.

Вместо этого у вас есть две альтернативы, и здесь я переключусь на ваш пример:

proc = new[] { ... elements ... };
proc = new Process[] { ... elements ... };

Вы можете отбросить Process часть, если компилятор может понять, что вы создаете массив Process объектов, что он может в вашем случае.


Теперь, сказав все это, это только объясняетошибка компилятора.

My думаю, в том, что вы не хотите, чтобы он вел себя так.Вы объявили и инициализировали массив proc, содержащий 999 элементов, вы , вероятно, не хотите переназначать весь массив на каждой итерации цикла.

В принципе, я думаю, что вы хотите это:

proc[i] = new Process(i, bts[i], 1);

(или какой-то вариант этого).Это назначит новый объект Process одному из существующих элементов массива из 999 элементов.

1 голос
/ 23 апреля 2019

Следующее, вероятно, будет работать

proc = new [] {new Process(i, bts[i], 1)} ;

Одномерные массивы (Руководство по программированию в C #)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...