C# Academy · Lektion

Fält, automatiska properties och objektinitierare

Definiera fält och automatiska properties och skapa objekt med kortfattade objektinitierare.

Lektion 1 av 38 steg

Fält, automatiska properties och objektinitierare är en gratis lektion i C# Academy på CoddyKit. Detta är lektion 1 av 3. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för C# Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i C# Academy innehåller totalt 3 lektioner.

Översikt över grunderna i klasser

Mål: Skapa enkla klasser.

  • Fält lagrar rådata
  • Autoegenskaper exponerar data på ett tydligt sätt
  • Objektinitierare anger värden när objektet skapas

Fält i en klass

Fält är variabler inuti en klass. För offentliga data är egenskaper säkrare.

using System;

// Fields store raw data inside a class
public class Player
{
  public string name; // field (usually prefer properties for public APIs)
  public int level;
}

public class Program
{
  public static void Main(string[] args)
  {
    Player p = new Player();
    p.name = "Ada";
    p.level = 1;
    Console.WriteLine("Player " + p.name + " level " + p.level);
  }
}

Autoegenskaper

Autoegenskaper exponerar data via get/set utan att ni behöver skriva ett fält. Det går att ange enkla standardvärden.

using System;

// Auto-properties generate a hidden backing field
public class Book
{
  public string Title { get; set; }
  public string Author { get; set; }
  public int Pages { get; set; } = 0; // auto-property initializer (C# 6)
}

public class Program
{
  public static void Main(string[] args)
  {
    Book b = new Book();
    b.Title = "Clean Code";
    b.Author = "Robert C. Martin";
    b.Pages = 464;
    Console.WriteLine(b.Title + " by " + b.Author + " (" + b.Pages + " pages)");
  }
}

Objektinitierare

Objektinitierare anger egenskaper när objektet skapas, vilket håller koden kort och tydlig.

using System;

public class Person
{
  public string Name { get; set; }
  public int Age { get; set; }
}

public class Program
{
  public static void Main(string[] args)
  {
    // Object initializer calls set-accessors after construction
    Person p = new Person { Name = "Alan", Age = 30 };
    Console.WriteLine(p.Name + " (" + p.Age + ")");
  }
}

Fält jämfört med egenskaper

Riktlinje:

  • Använd privata fält för intern lagring.
  • Exponera offentliga egenskaper så att ni senare kan lägga till validering utan att bryta anropande kod.
  • Håll namnen tydliga och enkla.

Fält och egenskaper tillsammans

Kombinera ett privat fält med en egenskap för att styra skrivningar (enkla invarianter).

using System;

// Private fields + public properties pattern
public class Product
{
  private int _stock;                   // field (internal storage)
  public string Name { get; set; }      // property (public API)
  public int Stock                      // property with simple guard
  {
    get { return _stock; }
    set
    {
      if (value < 0) value = 0; // simple safety for beginners
      _stock = value;
    }
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    Product p = new Product { Name = "Pen", Stock = 5 };
    p.Stock = -3; // setter clamps to 0
    Console.WriteLine(p.Name + " stock = " + p.Stock);
  }
}

Begreppet autoegenskap

Snabb kontroll: Vad är en autoegenskap i C#?

Sammanfattning

Sammanfattning: Definiera data med fält och exponera den via autoegenskaper. Använd objektinitierare för att ange värden när objektet skapas.

Gratis att börja

Lär dig C# med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
93
Lektioner
346

Vanliga frågor

Är lektionen ”Fält, automatiska properties och objektinitierare” gratis?

Ja – hela texten till ”Fält, automatiska properties och objektinitierare” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i C# Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i C# Academy innehåller totalt 3 lektioner.

Vad lär jag mig i ”Fält, automatiska properties och objektinitierare”?

Definiera fält och automatiska properties och skapa objekt med kortfattade objektinitierare. Ni övar på C# Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig C# Academy?

Du behöver inga förkunskaper. Utbildningen i C# Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 3.

Hur lång tid tar lektionen ”Fält, automatiska properties och objektinitierare”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här C# Academy-lektionen?

Ja. Varje C# Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Fält, automatiska properties och objektinitierare
  2. Konstruktorer och statiska medlemmar
  3. Inkapsling och invariansvillkor
← Tillbaka till C# Academy