Cuestión : Cómo se utiliza evitar “variable antes de que él se haya asignado un valor.”

El código abajo lleva a un mensaje de alerta sobre mensaje variable de i.

The lee… de “variable cuidado “que me” utilizan antes de que él se haya asignado un valor. Una excepción nula de la referencia podría resultar en el

Using MyReader de runtime.

....................... como nuevo
de Microsoft.VisualBasic.FileIO.TextFieldParser (“ext \ listoffilesandpaths.txt del c:\myvbast”) MyReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType. Delimited
MyReader.Delimiters = nueva secuencia () {”, “} el
amortigua el currentRow como
de la secuencia () mientras que no currentRow de MyReader.EndOfData
= el
i += 1
Nicknam (i) de MyReader.ReadFields () = 0)
NameOfFile (i) del currentRow (= el currentRow (1)
PathOfFile (i) = el currentRow (2)
ExtensionOfFile (i) = el currentRow (3)
LengthOfRecords (¿i) = currentRow (el

But de Using

del final de While
del final de 4)
.................... cuál es yo supuso para hacer para evitar esta advertencia? ¿el

If utilizo dévil antes de que el bloque - e.g. i dévil como número entero = 0 - entonces yo conseguir un mensaje de error que me dice que la “variable “yo” oculta una variable en un block.

So, cómo deba yo reescribir el código arriba para evitar todas estas cosas?

Thank you.
class= del

Respuesta : Cómo se utiliza evitar “variable antes de que él se haya asignado un valor.”

Utilizar un diverso varaiable en el bloque que usa:
Pienso que usted tiene el código como esto:

Amortiguar i como número entero

Usar MyReader como nuevo Microsoft.VisualBasic.FileIO.TextFieldParser (“c:\myvbastext\listoffilesandpaths.txt ")
             MyReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited
             MyReader.Delimiters = nueva secuencia () {“,”}
           currentRow dévil como secuencia ()
           Mientras que no MyReader.EndOfData
                 currentRow = MyReader.ReadFields ()
               i += 1
                 Nicknam (i) = currentRow (0)
                NameOfFile (i) = currentRow (1)
               PathOfFile (i) = currentRow (2)
                ExtensionOfFile (i) = currentRow (3)
                 LengthOfRecords (i) = currentRow (4)
           Terminar mientras que
        Terminar usar

Usted puede hacer tan como esto:

Amortiguar i como número entero

 
Usar MyReader como nuevo Microsoft.VisualBasic.FileIO.TextFieldParser (“c:\myvbastext\listoffilesandpaths.txt ")
           J dévil como número entero = 0
             MyReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited
             MyReader.Delimiters = nueva secuencia () {“,”}
           currentRow dévil como secuencia ()
           Mientras que no MyReader.EndOfData
                 currentRow = MyReader.ReadFields ()
               j += 1
                 Nicknam (i) = currentRow (0)
                NameOfFile (i) = currentRow (1)
               PathOfFile (i) = currentRow (2)
                ExtensionOfFile (i) = currentRow (3)
                 LengthOfRecords (i) = currentRow (4)
           Terminar mientras que
        Terminar usar
...................
................. “” soy accesible aquí también así que “j” es una variable separada que usted está utilizando dentro “usar” bloque.
 ....................
....................
....................

 Puesto que la variable “yo” está utilizando el interior “usar” el bloque y el exterior “usar” bloque también así que está ocultando el valor dentro del “usar” bloque.
Otras soluciones  
 
programming4us programming4us