init (C# Başvurusu)
C# 9 ve sonraki sürümlerde init anahtar sözcüğü bir özellik veya dizin oluşturucuda bir erişimci yöntemi tanımlar. Yalnızca bir başlatma ayarlayıcısı, özellik veya Dizin Oluşturucu öğesi yalnızca nesne oluşturma sırasında bir değer atar. Daha fazla bilgi ve örnek için bkz. Özellikler, Otomatik uygulanan özelliklerve Dizin oluşturucular.
Aşağıdaki örnek get init adlı bir özellik için hem hem de erişimcisini tanımlar Seconds . _secondsÖzellik değerini geri yüklemek için adlı bir özel alan kullanır.
class InitExample
{
private double _seconds;
public double Seconds
{
get { return _seconds; }
init { _seconds = value; }
}
}
Genellikle, init erişimci, önceki örnekte olduğu gibi bir değer atayan tek bir deyimden oluşur. initErişimciyi bir ifade olarak uygulayabilirsiniz. Aşağıdaki örnek, hem hem de get init erişimcilerinin ifade-Bodied Üyeler olarak uyguladığı.
class InitExampleExpressionBodied
{
private double _seconds;
public double Seconds
{
get => _seconds;
init => _seconds = value;
}
}
Bir özelliğin get ve init erişimcilerinin özel bir destek alanındaki bir değeri ayarlamaktan veya almadan başka bir işlem gerçekleştirdiği basit durumlarda, C# derleyicisinin otomatik uygulanan özellikler için destek özelliğinden yararlanabilirsiniz. Aşağıdaki örnek Hours Otomatik uygulanan bir özellik olarak uygulanır.
class InitExampleAutoProperty
{
public double Hours { get; init; }
}
C# dili belirtimi
Daha fazla bilgi edinmek için, bkz. C# Dil Belirtimi. Dil belirtimi, C# sözdizimi ve kullanımı için kesin bir kaynaktır.