Vai al contenuto
dukemondol

Vc# Aiuto Nel Risultato Di Una Variabile!

Recommended Posts

Salve a tutti da tanto che non scrivo.

Mi sono incimentato nella programmazione CSharp con Visual studio 2005.

Seguendo una lezione su C# di un sito, mi sono imbattuto su questo problema:

-Non riesco ad visualizzare sulla console il risultato della variabile "somma":

Vi riporto qua il codice:

using System;

class TipiDato

{

public static void Main()

{

// dichiaro la prima variabile intera

int a;

// dichiaro la seconda variabile intera

int b;

//dichiaro la variabile intera che conterrà il risultato

int somma;

// assegno alle prime due variabili i rispettivi valori

a = 2;

b = 3;

/* assegno alla variable somma il risultato

dell'operazione */

somma = a+b;

// stampa il risultato

Console.WriteLine("La somma e': ",somma);

Console.ReadLine();

}

}

Dove ho evidenziato in grassetto: L'output è: La somma è: qui non visualizza il risultato dell'operazione a+b memorizzato nella variabile somma. Come mai? c'è qualche funzione x visualizzarlo come in C si usa %d?

Grazie in anticipo spero che abbiate capito il mio problema.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

prego :D

in pratica quando metti le parantesi graffe parametrizzi la tua stringa con i valori che metti dopo la virgola. Non è una questione di conversione da int a string, come penso tu sospettavi. Mi spiego meglio con un esempio:

Console.WriteLine("Prova di stampa: numero 1:{0} numero2:{1} numero3:{2} stringa:{3}", 1, 2, 3, "questa è una stringa")

l'output sarà

Prova di stampa: numero1:1 numero2:2 numero3:3 stringa:questa è una stringa

In pratica tra le graffe metti l'indice in base 0 dell'argomento che vuoi inserire nel tuo output, e dopo la virgola metti tutti i tuoi parametri, separati da una virgola. Non so se sono stato chiaro....ciao!

edit:

in fin dei conti è simile al C, solo che nel C hai i formattatori tipo %d %i etc... qui invece devi mettere le graffe e l'indice del parametro. Non ti stampava niente perchè non avevi inserito nessun formattatore


Modificato da Gianca1976

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Un altro modo pratico che ti fa capire come anche i tipi di base (int, double,...) sono in realtà oggetti è:

Console.WriteLine("La somma di " + a.ToString() + " e "+ b.ToString() + " e': " + somma.ToString());

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Grazie, ho capito la tua spiegazione Gianca1976, in pratica come se stessi dando già un valore di partenza base.

Invece TheShark non ho ben compreso la tua spigazione :(

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

Il metodo ToString in .NET è disponibile per tutti gli oggetti, in quanto ereditato dalla classe padre Object.

In pratica restituisce una descrizione in formato stringa del tuo oggetto. Nel caso dei tipi int, double (anche loro sono degli oggetti, come tutti i tipi in .NET) ToString è implementato per restituire il valore in formato stringa, che poi puoi visualizzare a schermo.

Una cosa che vorrei precisare riguardo ai formattori in C#: non esiste solo la sintassi {0}, ma ci possono essere molte possibilità, a seconda del risultato che vuoi ottenere (ex: stampa di un numero con numero di caratteri fissi, etc)

Per i dettagli dai un'occhiata alla guida MSDN e anche a questo link:

http://www.guru4.net/articoli/format-string/

ciao


Modificato da Gianca1976

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora


  • Navigazione recente   0 utenti

    Non ci sono utenti registrati da visualizzare in questa pagina.

×