C# Academy · Lektion

Felter, auto-properties, object initializers

Definér felter og auto-properties, og opret objekter kortfattet med object initializers.

Lektion 1 af 38 trin

Felter, auto-properties, object initializers er en gratis C# Academy-lektion på CoddyKit. Dette er lektion 1 af 3. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i C# Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. C# Academy-kurset indeholder 3 lektioner i alt.

Grundlæggende om klasser

Mål: Opret simple klasser.

  • Felter indeholder rådata
  • Automatiske egenskaber eksponerer data på en enkel måde
  • Objektinitialiseringer angiver værdier ved oprettelsen

Felter i en klasse

Felter er variabler inde i en klasse. Til offentlige data er egenskaber mere sikre.

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);
  }
}

Automatiske egenskaber

Automatiske egenskaber eksponerer data via get/set uden at du skal skrive et felt. Du kan angive enkle standardværdier.

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)");
  }
}

Objektinitialiseringer

Objektinitialiseringer angiver egenskaber ved oprettelsen, så koden bliver kort og tydelig.

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 + ")");
  }
}

Felter kontra egenskaber

Retningslinje:

  • Brug private felter til intern lagring.
  • Eksponér public egenskaber, så du senere kan tilføje validering uden at bryde kaldende kode.
  • Hold navnene tydelige og enkle.

Felter og egenskaber sammen

Kombinér et private felt med en egenskab for at styre skrivninger (enkle 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);
  }
}

Begrebet automatisk egenskab

Hurtigt tjek: Hvad er en automatisk egenskab i C#?

Opsamling

Opsamling: Definér data med felter, og eksponér dem via automatiske egenskaber. Brug objektinitialiseringer til at angive værdier ved oprettelsen.

Gratis at komme i gang

Lær C# med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
93
Lektioner
346

Ofte stillede spørgsmål

Er lektionen “Felter, auto-properties, object initializers” gratis?

Ja — hele teksten til “Felter, auto-properties, object initializers” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af C# Academy-kurset, skal du opgradere til CoddyKit PRO. C# Academy-kurset indeholder 3 lektioner i alt.

Hvad lærer jeg i “Felter, auto-properties, object initializers”?

Definér felter og auto-properties, og opret objekter kortfattet med object initializers. Du øver dig i C# Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på C# Academy?

Der kræves ingen tidligere erfaring. C# Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 3.

Hvor lang tid tager lektionen “Felter, auto-properties, object initializers”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne C# Academy-lektion?

Ja. Alle C# Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Felter, auto-properties, object initializers
  2. Konstruktører, statiske medlemmer
  3. Indkapsling og invariants
← Tilbage til C# Academy