Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    C# - unassigned local variable

    Dichiaro la variabile stringa "string strList" alla quale sono costretto ad associare una stringa vuota altrimenti mi da l'errore unassigned local variable, ma non dovrebbe bastare indicargli di allocare della memoria per la variabile strList di tipo stringa?
    Come in VB.NET? Dim strList As String

    codice:
    <script runat="server">
        void chklFavoriteFoods_SelectedIndexChanged(Object s, EventArgs e)
        {
            //cosi funziona
            string strList="";
            //cosi no
            //string strList;
            foreach (ListItem itmFood in chklFavoriteFoods.Items)
            {
                if (itmFood.Selected)
                {
                    strList += "[*]" + itmFood.Text;
                }
            }
            lblFoodList.Text = strList;
        }
    </script>
    Grazie per i chiarimenti!

    Marco

  2. #2
    Ti sei già risposto da solo: no, non basta. E' necessario assegnare un valore oltre che inizializzare una variabile.
    Il VB si "mette in mezzo" e ti gestisce questo passo (alla variabile gli assegna valore null).


  3. #3
    Grazie per la risposta, ma non può essere legato ad un problema di visibilità delle variabili? Se dichiaro la stringa strList fuori dalla funzione senza assegnargli alcun valore, funziona...

    Oppure guarda questo esempio
    codice:
    void btnClick (Object s, EventArgs e)
    {
        string pippo;
        pippo = "prova";
        lblRisultato.Text=pippo;
    }
    Inizializzo la variabile di tipo stringa all'inizio e l'assegnazione la faccio dopo...Perchè non posso farlo anche nel primo esempio che ho postato...

    Grazie ancora.

    Marco

  4. #4
    Perché nel primo esempio che hai postato tu effettui questo tipo di operazione:
    codice:
    strList += "[*]" + itmFood.Text;
    .
    E questa come sai bene è una concatenazione di stringhe, il che vuol dire che aggiunge al valore presente nella variabile una porzione di testo. Il problema però è che tenti di aggiungere del testo ad una variabile che ancora non è stata assegnata.
    Mi segui?

  5. #5
    Originariamente inviato da ZofM
    Mi segui?
    Stupidissima ingenuità mia...Hai perfettamente ragione.
    Vb mi aveva abituato troppo "bene".
    Grazie!


    Marco

  6. #6
    Originariamente inviato da [-MaRcO3-]
    Vb mi aveva abituato troppo "bene".
    Eh si.. naggia a lui


  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da [-MaRcO3-]
    Stupidissima ingenuità mia...Hai perfettamente ragione.
    Vb mi aveva abituato troppo "bene".
    Grazie!


    Marco
    anche con il basic ci sono problemi. L'unico consiglio serio che danno gli esperti è di mettere sempre Dim s as string = "", altrimenti la non inizializzazione dà errore. Mentre in C si sa che le variabili non sono inizializzate dal compilatore e che debbone sempre essere inizializzate
    Pietro

  8. #8
    Originariamente inviato da pietro09
    anche con il basic ci sono problemi. L'unico consiglio serio che danno gli esperti è di mettere sempre Dim s as string = "", altrimenti la non inizializzazione dà errore.
    Osservazione giustissima la tua, ma sai in quanti dei 3/4 manuali che ho si può trovare una spiegazione del genere? Nessuno. Anche negli esempi (ASP.NET Tutto&Oltre) le variabili stringa ad non vengono inizializzate. Gli esperti che danno questi consigli dovrebbero essere anche quelli che scrivono i manuali.

    Ciao e grazie anche a te

    Marco

  9. #9
    Originariamente inviato da [-MaRcO3-]
    Osservazione giustissima la tua, ma sai in quanti dei 3/4 manuali che ho si può trovare una spiegazione del genere? Nessuno. Anche negli esempi (ASP.NET Tutto&Oltre) le variabili stringa ad non vengono inizializzate. Gli esperti che danno questi consigli dovrebbero essere anche quelli che scrivono i manuali.

    Ciao e grazie anche a te

    Marco
    io sto cercando dei manuali buoni di c#. Gia conosco VB.NET perciò vorrei trovare qualcosa di buono e non una guida per iniziare da zero.

    tu che hai?e che ne pensi?

  10. #10
    Originariamente inviato da Daniele80
    io sto cercando dei manuali buoni di c#. Gia conosco VB.NET perciò vorrei trovare qualcosa di buono e non una guida per iniziare da zero.

    tu che hai?e che ne pensi?
    Io ho ASP.NET Guida per lo sviluppatore della HOEPLI che ha pure degli esempi in C# oltre che VB.NET è un bel mattone fatto piuttosto bene. Poi ho Programmare Visual C# .NET della Microsoft (mondadori informatica) che è più orientato alle Windows form e non dedica molto spazio a ASP.NET però la sintassi e tutto quello che ci sta intorno le spiega bene.

    E ora per esercizio sto traducendo tutti i listati del manuale ASP.NET Tutto&Oltre che sono in VB.NET in C# così ne capisco anche meglio le differenze...

    Ciao!

    Marco

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 © 2026 vBulletin Solutions, Inc. All rights reserved.