Ekinlikler
17 Mar 21 - 21 Mar 10
Diğer geliştiriciler ve uzmanlarla gerçek dünyadaki kullanım örneklerini temel alan ölçeklenebilir yapay zeka çözümleri oluşturmak için toplantı serisine katılın.
Hemen kaydolunBu tarayıcı artık desteklenmiyor.
En son özelliklerden, güvenlik güncelleştirmelerinden ve teknik destekten faydalanmak için Microsoft Edge’e yükseltin.
Bu sayfa değiştirici anahtar sözcüğünü static
kapsar. anahtar static
sözcüğü de yönergesinin using static
bir parçasıdır.
Değiştiriciyi static
kullanarak belirli bir nesne yerine türün kendisine ait olan statik bir üyeyi bildirin. Değiştirici, static
sınıfları bildirmek static
için kullanılabilir. Sınıflarda, arabirimlerde ve yapılarda, değiştiriciyi static
alanlara, yöntemlere, özelliklere, işleçlere, olaylara ve oluşturuculara ekleyebilirsiniz. Değiştirici static
, dizin oluşturucular veya sonlandırıcılarla kullanılamaz. Daha fazla bilgi için bkz . Statik Sınıflar ve Statik Sınıf Üyeleri.
Değiştiriciyi static
yerel bir işleve ekleyebilirsiniz. Statik bir yerel işlev yerel değişkenleri veya örnek durumunu yakalayamaz.
Değiştiriciyi static
bir lambda ifadesine veya anonim yönteme ekleyebilirsiniz. Statik lambda veya anonim yöntem yerel değişkenleri veya örnek durumunu yakalayamaz.
Aşağıdaki sınıf olarak static
bildirilir ve yalnızca static
yöntemleri içerir:
static class CompanyEmployee
{
public static void DoSomething() { /*...*/ }
public static void DoSomethingElse() { /*...*/ }
}
Sabit veya tür bildirimi örtük olarak bir static
üyedir. Bir static
üyeye örnek üzerinden başvuruda bulunılamaz. Bunun yerine, tür adı üzerinden başvurulur. Örneğin, aşağıdaki sınıfı göz önünde bulundurun:
public class MyBaseC
{
public struct MyStruct
{
public static int x = 100;
}
}
üyesine static
başvurmak için, MyBaseC.MyStruct.x
üyeye x
aynı kapsamdan erişilmediği sürece tam adını kullanın:
Console.WriteLine(MyBaseC.MyStruct.x);
Bir sınıfın örneği, sınıfın tüm örnek alanlarının ayrı bir kopyasını içerse de, her static
alanın yalnızca bir kopyası vardır.
Yöntemlere veya özellik erişimcilerine başvurmak static
için kullanmak this
mümkün değildir.
static
Anahtar sözcüğü bir sınıfa uygulanırsa, sınıfın tüm üyeleri olmalıdırstatic
.
Sınıfların, arabirimlerin ve static
sınıfların static
oluşturucuları olabilir. Bir static
oluşturucu, programın başlamasıyla sınıfın örneği oluşturma arasında bir noktada çağrılır.
Not
Anahtar sözcüğün static
kullanımları C++ dilindekinden daha sınırlı. C++ anahtar sözcüğüyle karşılaştırmak için bkz. Depolama sınıfları (C++).
Üyeleri göstermek static
için şirket çalışanlarını temsil eden bir sınıf düşünün. sınıfının çalışanları saymak için bir yöntem ve çalışan sayısını depolamak için bir alan içerdiğini varsayalım. Hem yöntem hem de alan hiçbir çalışan örneğine ait değildir. Bunun yerine, bir bütün olarak çalışanların sınıfına aittirler. Bunlar sınıfın üyesi olarak static
bildirilmelidir.
Bu örnek, yeni çalışanın adını ve kimliğini okur, çalışan sayacını bir artırır ve yeni çalışanın bilgilerini ve yeni çalışan sayısını görüntüler. Bu program, geçerli çalışan sayısını klavyeden okur.
public class Employee4
{
public string id;
public string name;
public Employee4()
{
}
public Employee4(string name, string id)
{
this.name = name;
this.id = id;
}
public static int employeeCounter;
public static int AddEmployee()
{
return ++employeeCounter;
}
}
class MainClass : Employee4
{
static void Main()
{
Console.Write("Enter the employee's name: ");
string name = Console.ReadLine();
Console.Write("Enter the employee's ID: ");
string id = Console.ReadLine();
// Create and configure the employee object.
Employee4 e = new Employee4(name, id);
Console.Write("Enter the current number of employees: ");
string n = Console.ReadLine();
Employee4.employeeCounter = Int32.Parse(n);
Employee4.AddEmployee();
// Display the new information.
Console.WriteLine($"Name: {e.name}");
Console.WriteLine($"ID: {e.id}");
Console.WriteLine($"New Number of Employees: {Employee4.employeeCounter}");
}
}
/*
Input:
Matthias Berndt
AF643G
15
*
Sample Output:
Enter the employee's name: Matthias Berndt
Enter the employee's ID: AF643G
Enter the current number of employees: 15
Name: Matthias Berndt
ID: AF643G
New Number of Employees: 16
*/
Bu örnek, henüz bildirilmemiş başka static
bir alan kullanarak bir static
alanı başlatabileceğinizi gösterir. Siz alana açıkça bir değer static
atayana kadar sonuçlar tanımsız hale gelecek.
class Test
{
static int x = y;
static int y = 5;
static void Main()
{
Console.WriteLine(Test.x);
Console.WriteLine(Test.y);
Test.x = 99;
Console.WriteLine(Test.x);
}
}
/*
Output:
0
5
99
*/
Daha fazla bilgi edinmek için, bkz. C# Dil Belirtimi. Dil belirtimi, C# sözdizimi ve kullanımı için kesin bir kaynaktır.
.NET geri bildirimi
.NET, açık kaynak bir projedir. Geri bildirim sağlamak için bir bağlantı seçin:
Ekinlikler
17 Mar 21 - 21 Mar 10
Diğer geliştiriciler ve uzmanlarla gerçek dünyadaki kullanım örneklerini temel alan ölçeklenebilir yapay zeka çözümleri oluşturmak için toplantı serisine katılın.
Hemen kaydolun