Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    dimensione effettiva di un array

    ciao,
    oggi per caso ho scoperto che evidentemente non so bene come definire la dimensione di un array.

    io infatti avevo questo codice:

    codice:
    dim array(12)
    
    .....
    
    for i = 0 to 12
      response.write array(i)
    next
    mi sono accorto allora che io effettivamente uso 13 elementi anche se nella definizione dell'array ho inserito 12 (come numero di elementi)

    allora ho pensato che se eccedevi il valore impostato faceva in automatico un reDim e invece provando ad inserire per esempio

    dim array(11)

    mi da un errore di dimensionamento.

    come mai setto 12 elementi nella definizione e ne posso usare 13?

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Quando tu dici:

    dim array(12)

    stai dichiarando un array di 13 elementi!
    Perché gli elementi di un array partono dall'indice 0, come del resto espresso dal tuo ciclo for-next.

    Roby

  3. #3
    io conosco la programmazione in c/c++ e non e' cosi la definizione della dimenzione dell'array.

    evidentemente in VB script e' diverso.

    se e' cosi, buono a sapersi.

    grazie

  4. #4
    Originariamente inviato da FlashDomi
    io conosco la programmazione in c/c++ e non e' cosi la definizione della dimenzione dell'array.

    evidentemente in VB script e' diverso.

    se e' cosi, buono a sapersi.

    grazie
    Sì, è diverso.
    In c, c++, java e derivati con la new crei un array di N elementi dove N è il valore numerico inserito.

    In vb crei un array di N posizioni, dove N è il valore inserito.
    N posizioni vuol dire N elementi + 1 (dato che si parte da 0 come in c e company).

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.