Как изменить массив строк в C# - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь добавить заголовки столбцов из таблицы Excel в строку [], но если я не получаю 1 набор заголовков, я могу предположить, что это другой набор заголовков, который мне нужно определить. Надеюсь, приведенный ниже код показывает это лучше, чем я могу объяснить:

        string[] requiredHeaders = { "orderNo",
                                     "styleNo",
                                     "description",
                                     "size",
                                     "colour",
                                     "qtyPerCarton",
                                     "numberOfCartons",
                                     "total" };
        CurrentRow = 1;
        int headerRow = HeaderCheck(ref headerMap, requiredHeaders);
        //Check we have headers to pass before continuing
        if(headerRow != 0)
        {
            ProcessDeliveryNote(ref headerMap, headerRow);
        }
        else 
        {
            string[] requiredHeaders = { "description",
                                         "qtyPerCarton",
                                         "cartonWeight",
                                         "cartonSize",
                                         "noOfCartons",
                                         "totalNoOfUnits" };

            headerRow = HeaderCheck(ref headerMap, requiredHeaders);
            if(headerRow != 0)

При втором появлении строки [] requiredHeaders я получаю следующую ошибку: локальный параметр с именем requiredHeaders не может быть объявлен в этой области, потому что это имя используется в локальной области видимости для определения локального или параметра

Ответы [ 2 ]

4 голосов
/ 17 июня 2020

Вы объявляете вторую переменную с именем, уже объявленным в той же области. Либо дайте второй переменной новое имя, либо удалите объявление и просто сделайте requiredHeaders = new string[] { values here }

Вот простая статья, которая может дать вам легкое для понимания объяснение.

4 голосов
/ 17 июня 2020

Вы пытаетесь дважды определить переменную с именем requiredHeaders . Во второй раз вам не нужно его создавать, потому что он уже существует - вам просто нужно присвоить ему другое значение.

Поэтому вместо

string[] requiredHeaders = { "description",
    "qtyPerCarton",
    "cartonWeight",
    "cartonSize",
    "noOfCartons",
    "totalNoOfUnits"
};

используйте

requiredHeaders = new string[] { 
    "description",
    "qtyPerCarton",
    "cartonWeight",
    "cartonSize",
    "noOfCartons",
    "totalNoOfUnits"
};

Таким образом, вы не воссоздаете requiredHeaders , а создаете новый массив и назначаете его requiredHeaders .

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