Gå til innhold

Anbefalte innlegg

Noen som ser en feil i denne koden? Jeg er nybegynner og skjønner ikke helt hva som kan være galt :blush:

using System;
namespace enumeration
{
class MainClass
{
 public static void Main(string[] args)
 {
 	public enum Pizza
 	{
   skinke = 3,
   pepperoni,
   taco,
   sopp,
   ost,
 	}
 	string MyString = Pizza.ost;
 	Enum.Console.WriteLine(MyString);
 }
}
}

Lenke til kommentar
Videoannonse
Annonse

tre ting:

Først og fremst:

En enumeration kan ikke deklareres i en metode, alle deklareringer av datatyper skjer enten i en annen type, class MainClass, eller i et namespace, enumeration.

 

string MyString blir satt til verdien av en int, mens datatypen er string, løses ved å skrive

string MyString = Pizza.ost.ToString();

 

Enum.Console.WriteLine(MyString), 'Enum' inneholder ingen Console klasser.

For å skrive til consolen, skriv:

System.Console.WriteLine(MyString);

Lenke til kommentar

greit,

men hva er feil her da?

using System;
namespace enumeration
{
   class MainClass
   {
    public static void Main(string[] args)
    {
     Console.WriteLine("Hello World");
    }
    public enum Pizza
     {
         skinke = 3,
      chili,
      pepper,
      paprika,
      ost,
     }
    int MyInt = (int) Pizza.ost;
    Console.WriteLine(MyInt);
   }
}

feil: Invalid token '(' in class,struct or interface member declaration

Invalid token ')' in class,struct or interface member declaration

 

men nå til et annet lite problem:

kan noen forklare denne koden?

using System;

namespace methods 
{

class Listing5_1
{
public static void Main()
{
 Listing5_1 MyObject;
 
 MyObject = new Listing5_1();
 MyObject.CallMethod();
}
void CallMethod()
{
 Console.WriteLine("Hello From C#!");
}

} // class Listing5_1
} // namespace

fant koden i en bok, men det er ingen forklaring på koden? så langt har jeg ikke vært borti dette med MyObject, new Listing5_1, osv... trenger vel egentlig en forklaring på alt innenfor Main(). :blush:

Endret av hockey500
Lenke til kommentar

Første del. Du har vanlig kode ute i klassen rett under enum. Vanlig kode må ligge inni en metode.

    int MyInt = (int) Pizza.ost;

    Console.WriteLine(MyInt);

 

I utgangspunktet når koden starter opp så starter den i Main. Main er en statisk klasse. I dette tilfellet oppretter Main en ny instans av sin egen klasse og kjører en metode CallMethod() på denne instansen.

 

Main har i utgangspunktet KUN tilgang til andre metoder og egenskaper som er static. CallMethod er ikke static. Derfor trenger Main å lage en ny instans av klassen sin for å få tilgang til denne.

Lenke til kommentar
  • 9 måneder senere...
greit,

men hva er feil her da?

using System;
namespace enumeration
{
   class MainClass
   {
    public static void Main(string[] args)
    {
     Console.WriteLine("Hello World");
    }
    public enum Pizza
     {
         skinke = 3,
      chili,
      pepper,
      paprika,
      ost,
     }
    int MyInt = (int) Pizza.ost;
    Console.WriteLine(MyInt);
   }
}

Fjern komma etter ost!

 

men nå til et annet lite problem:

kan noen forklare denne koden?

using System;

namespace methods 
{

class Listing5_1
{
public static void Main()
{
 Listing5_1 MyObject;
 
 MyObject = new Listing5_1();
 MyObject.CallMethod();
}
void CallMethod()
{
 Console.WriteLine("Hello From C#!");
}

} // class Listing5_1
} // namespace

fant koden i en bok, men det er ingen forklaring på koden? så langt har jeg ikke vært borti dette med MyObject, new Listing5_1, osv... trenger vel egentlig en forklaring på alt innenfor Main().  :blush:

5014771[/snapback]

Det denne koden gjør, er å lage en klasse med navn Listing5_1 som inneholder én metode, CallMethod. Denne metoden skriver ut en tekststreng til konsollet.

 

i main-metoden, altså den koden som kjører når du starter programmet, lager du et objekt som er en instans(et eksemplar) av klassen Listing5_1, før du kaller på metoden som skriver ut teksten

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...