Události
Vytváření inteligentních aplikací
17. 3. 21 - 21. 3. 10
Připojte se k řadě meetupů a vytvořte škálovatelná řešení AI založená na skutečných případech použití s kolegy vývojáři a odborníky.
ZaregistrovatTento prohlížeč se už nepodporuje.
Upgradujte na Microsoft Edge, abyste mohli využívat nejnovější funkce, aktualizace zabezpečení a technickou podporu.
Konstruktor je metoda volána modulem runtime, pokud je vytvořena instance třídy nebo struktury. Třída nebo struktura může mít více konstruktorů, které přebírají různé argumenty. Konstruktory umožňují zajistit, aby instance typu byly při vytváření platné. Další informace a příklady naleznete v tématu konstruktory instance a Použití konstruktorů.
Inicializace nové instance je součástí několika akcí. Následující akce se provádějí v následujícím pořadí:
Předchozí akce se provádějí při vytvoření instance pomocí operátoru new
. Pokud je nová instance struct
nastavena na hodnotu default
, jsou všechna pole instance nastavena na hodnotu 0. Prvky pole jsou při vytvoření pole nastaveny na výchozí hodnotu 0 nebo null
.
statický konstruktor, pokud existuje, se spustí před tím, než proběhne jakákoli akce konstruktoru instance pro libovolnou instanci typu. Statický konstruktor se spustí maximálně jednou.
Konstruktor je metoda se stejným názvem jako její typ. Podpis metody může obsahovat volitelný modifikátor přístupu , název metody a jeho seznam parametrů; neobsahuje návratový typ. Následující příklad ukazuje konstruktor pro třídu s názvem Person
.
public class Person
{
private string last;
private string first;
public Person(string lastName, string firstName)
{
last = lastName;
first = firstName;
}
// Remaining implementation of Person class.
}
Pokud lze konstruktor implementovat jako jeden příkaz, můžete použít člen těla výrazu. Následující příklad definuje Location
třídu, jejíž konstruktor má jeden řetězcový parametr s názvem název. Definice těla výrazu přiřadí argument poli locationName
.
public class Location
{
private string locationName;
public Location(string name) => Name = name;
public string Name
{
get => locationName;
set => locationName = value;
}
}
Pokud typ k vytvoření instance vyžaduje parametr, můžete pomocí primárního konstruktoru indikovat, že k vytvoření instance typu jsou potřeba jeden nebo více parametrů, jak je znázorněno v následujícím příkladu:
public class LabelledContainer<T>(string label)
{
public string Label { get; } = label;
public required T Contents
{
get;
init;
}
}
Předchozí příklady ukazují konstruktory instancí, které inicializují nový objekt. Třída nebo struktura mohou také deklarovat statický konstruktor, který inicializuje statické členy typu. Statické konstruktory jsou bez parametrů. Pokud nezadáte statický konstruktor pro inicializaci statických polí, kompilátor jazyka C# inicializuje statická pole na výchozí hodnotu uvedenou v Výchozí hodnoty typů jazyka C# článku.
Následující příklad používá statický konstruktor k inicializaci statického pole.
public class Adult : Person
{
private static int minimumAge;
public Adult(string lastName, string firstName) : base(lastName, firstName)
{ }
static Adult() => minimumAge = 18;
// Remaining implementation of Adult class.
}
Můžete také definovat statický konstruktor s definicí těla výrazu, jak ukazuje následující příklad.
public class Child : Person
{
private static int maximumAge;
public Child(string lastName, string firstName) : base(lastName, firstName)
{ }
static Child() => maximumAge = 18;
// Remaining implementation of Child class.
}
Další informace a příklady naleznete v tématu statické konstruktory.
Zpětná vazba k produktu .NET
.NET je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby:
Události
Vytváření inteligentních aplikací
17. 3. 21 - 21. 3. 10
Připojte se k řadě meetupů a vytvořte škálovatelná řešení AI založená na skutečných případech použití s kolegy vývojáři a odborníky.
ZaregistrovatŠkolení
Modul
Get started with classes and objects in C# - Training
Learn how to create classes and instantiate objects that expose encapsulated field data by using class definitions, constructors, and the 'new' operator.
Dokumentace
En este ejemplo se muestra cómo se crea una instancia de una clase mediante el nuevo operador en C#. El constructor simple se invoca después de asignar memoria para el nuevo objeto.
operador new: creación e inicialización de una nueva instancia de un tipo - C# reference
El operador nuevo de C# se usa para crear opcionalmente una nueva instancia de un tipo.
En estos ejemplos se muestra el uso de propiedades en C#. Vea cómo los descriptores de acceso get y set implementan el acceso de lectura y escritura, y obtenga información sobre los usos de las propiedades.