Gå til innhold

Anbefalte innlegg

Jeg skulle bare lage en enkel kalkulator i Microsoft Visual C#, da jeg fikk en error jeg ikke skjønner.

Koden er som følger

namespace WindowsFormsApplication1
{

public partial class Form1 : Form
{

	Double xDouble;
	Double yDouble;
	public Form1()
	{

		InitializeComponent();
	}
		private void cnvToStr()
	{
			double xDouble = Convert.ToDouble(txtKalk1.Text);
			double yDouble = Convert.ToDouble(txtKalk2.Text);
	}
	private void btnPluss_Click(object sender, EventArgs e)
	{
		cnvToStr();

	   labMelding.Text = Convert.ToString(xDouble+yDouble);			
	}
	private void btnMinus_Click(object sender, EventArgs e)
	{
		cnvToStr();

		labMelding.Text = Convert.ToString(xDouble - yDouble);
	}
	private void btnGange_Click(object sender, EventArgs e)
	{
		cnvToStr();

		labMelding.Text = Convert.ToString(xDouble * yDouble);
	}
	private void btnDele_Click(object sender, EventArgs e)
	{
		cnvToStr();

		labMelding.Text = Convert.ToString(xDouble / yDouble);
	}
}
}

 

Men jeg får som melding:

"Field 'WindowsFormsApplication1.Form1.xDouble' is never assigned to, and will always have its default value 0"

 

Hvorfor? Hvordan fikser jeg det?

Endret av Po[wP]ow
Lenke til kommentar
Videoannonse
Annonse

Men jeg får som melding:

"Field 'WindowsFormsApplication1.Form1.xDouble' is never assigned to, and will always have its default value 0"

Les meldingen, hva står det der?

		private void cnvToStr()
	{
			double xDouble = Convert.ToDouble(txtKalk1.Text);
			double yDouble = Convert.ToDouble(txtKalk2.Text);
	}

Her er uansett problemet ditt. Du deklarerer nye, lokale xDouble og yDouble i denne metoden som overskygger instans-variablene. Dermed tilordner du aldri Form1.xDouble en verdi, akkurat som beskrevet i feilmeldingen :)

Lenke til kommentar

Strengt tatt er det vel en warning du får og ikke en feilmelding. Visual Studio prøver hele tiden å passe på deg når du programmerer. Denne warningen forteller deg at du har definert en variabel som du aldri bruker. Dette er en pekepinn til deg om at du like gjerne kan fjerne den, ikke en feilmelding om at du har en variabel definert for mye, og følgelig er ikke dette en feil og vil heller aldri resultere i noe problem

Lenke til kommentar
Men problemet er at trådstarter deklarerer to nye lokale variabler, og tilordner aldri noen verdier til de han bruker til å regne med. Dette vil føre til en DivideByZeroException bl.a. etterhvert.

Joda, det er riktig, men innledende problem handlet om en warning og ikek en feil i koden. Var bare det jeg ville poengtere

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...