Dela via


Allmän struktur för ett C#-program

C#-program består av en eller flera filer. Varje fil innehåller noll eller fler namnområden. Ett namnområde innehåller typer som klasser, structs, gränssnitt, uppräkningar och ombud eller andra namnområden. Följande exempel är stommen i ett C#-program som innehåller alla dessa element.

using System;

Console.WriteLine("Hello world!");

namespace YourNamespace
{
    class YourClass
    {
    }

    struct YourStruct
    {
    }

    interface IYourInterface
    {
    }

    delegate int YourDelegate();

    enum YourEnum
    {
    }

    namespace YourNestedNamespace
    {
        struct YourStruct
        {
        }
    }
}

I föregående exempel används instruktioner på den översta nivån för programmets startpunkt. Endast en fil kan ha uttalanden på högsta nivå. Programmets startpunkt är den första raden i programtexten i filen. I det här fallet är det Console.WriteLine("Hello world!");. Du kan också skapa en statisk metod med namnet Main som programmets startpunkt, som du ser i följande exempel:

// A skeleton of a C# program
using System;
namespace YourNamespace
{
    class YourClass
    {
    }

    struct YourStruct
    {
    }

    interface IYourInterface
    {
    }

    delegate int YourDelegate();

    enum YourEnum
    {
    }

    namespace YourNestedNamespace
    {
        struct YourStruct
        {
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello world!");
        }
    }
}

I så fall startar programmet på den första raden i Main-metoden, som är Console.WriteLine("Hello world!");

Uttryck och satser

C#-program skapas med uttryck och instruktioner. Uttryck genererar ett värde och uttryck utför en åtgärd:

Ett uttryck är en kombination av värden, variabler, operatorer och metodanrop som utvärderas till ett enda värde. Uttryck ger ett resultat och kan användas varhelst ett värde förväntas. Följande exempel är uttryck:

  • 42 (literalvärde)
  • x + y (aritmetisk operation)
  • Math.Max(a, b) (metodanrop)
  • condition ? trueValue : falseValue (villkorsuttryck)
  • new Person("John") (skapa objekt)

En instruktion är en fullständig instruktion som utför en åtgärd. Instruktioner returnerar inte värden. I stället styr de programflödet, deklarerar variabler eller utför åtgärder. Följande exempel är uttalanden:

  • int x = 42; (deklarationsutdrag)
  • Console.WriteLine("Hello"); (uttrycksinstruktor – omsluter ett metodanropsuttryck)
  • if (condition) { /* code */ } (villkorssats)
  • return result; (retursats)

Den viktigaste skillnaden: uttrycken ger värden, medan instruktionerna utför handlingar. Vissa konstruktioner, till exempel metodanrop, kan vara båda. Är till exempel Math.Max(a, b) ett uttryck när det används i int result = Math.Max(a, b);, men blir ett uttrycksuttryck när det skrivs ensamt som Math.Max(a, b);.

För detaljerad information om uttalanden, se Uttalanden. Information om uttrycksbaserade medlemmar och andra uttrycksfunktioner finns i Uttrycksbaserade medlemmar.

Du lär dig mer om dessa programelement i avsnittet typer i grundguiden:

Språkspecifikation för C#

Mer information finns i Grundläggande begrepp i C#-språkspecifikationen. Språkspecifikationen är den slutgiltiga källan för C#-syntax och -användning.