Estoy tratando de agregar algunos encabezados de columna de una hoja de Excel a una cadena [] pero si no obtengo 1 conjunto de encabezados, puedo suponer que es el otro conjunto de encabezados lo que necesito definir. Esperemos que el siguiente código lo muestre mejor de lo que puedo explicar:

        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)

En la segunda aparición de string [] requiredHeaders me sale el siguiente error: Un parámetro local llamado requiredHeaders no se puede declarar en este ámbito porque ese nombre se está utilizando en un ámbito local adjunto para definir un local o parámetro

-1
Joe 17 jun. 2020 a las 16:30

2 respuestas

Está intentando definir la variable denominada requiredHeaders dos veces. La segunda vez no necesita crearlo, porque ya existe, solo tiene que asignarle un valor diferente.

Así que en lugar de

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

Uso

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

De esta manera, no vuelve a crear requiredHeaders , sino que crea una nueva matriz y la asigna a requiredHeaders .

4
Annosz 17 jun. 2020 a las 13:37

Está declarando una segunda variable con un nombre ya declarado en el mismo ámbito. Déle a la segunda variable un nuevo nombre o elimine la declaración y simplemente haga requiredHeaders = new string[] { values here }

Aquí a Artículo simple que puede darle una explicación fácil de entender.

3
bigO 17 jun. 2020 a las 13:40