Çözüldü C# public static void

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Akamea

Centipat
Katılım
17 Ekim 2021
Mesajlar
24
Makaleler
1
Arkadaşlar public tam olarak ne şimdi biz public class ucgen
{
public int a;
public int b;
Public int c;
}
Burada publicin kullanım amacı nedir
devamı.

internal class program
{
private static void main(string [] args)
{
static voidin açılımı anlamıyorum kaç tane video izledim başka seçenek kalmadı.
 
Çözüm
Public erişim belirleyicisi; değişkenin değerini tüm classlardan erişilebilir yapar. Yani bir değişkeni public olarak tanımlarsan farklı bir classtan veya fonksiyondan direkt çağırabilirsin.
Public başka dosyalar üzerinden değer alma, değer taşıma için kullanılıyor. Aynı dosya içinde Public yapmanıza gerek yok.

Örnek vereyim;

Dosya 1'den Dosya 2'ye değer göndereceğiniz zaman Public yapmanız gerekiyor. Yoksa değer gönderemezsiniz.
 
Artı -3 Eksi
Public erişim belirleyicisi; değişkenin değerini tüm classlardan erişilebilir yapar. Yani bir değişkeni public olarak tanımlarsan farklı bir classtan veya fonksiyondan direkt çağırabilirsin.
 
Son düzenleyen: Moderatör:
Çözüm
Static bir sınıfa ait bir nesne oluşturmadan kullanabilmeyi sağlıyor.
Void ise değer döndürmeyen fonksiyon demek.
Biraz açarsak bahsettiğiniz üçgen sınıfından gidelim.

C#:
public class Ucgen {
 public int a, b, c;
}

Bu ucgen sınıfını kullanmak için.
Var ucgen1 = New Ucgen();
Diye yeni bir değişken oluşturmamız gerekiyor. Bundan sonra.

C#:
ucgen1.a = 3;
ucgen1.b = 5;

Diye değişkenlere erişebiliyoruz. Ucgen1 diye nesne oluşturmadan ucgen. A diye erişemiyoruz. Eğer bu şekilde erişmek isteseydik o değişkeni static olarak tanımlamamız gerekirdi. public static int a; gibi.
Public static Void main() de ki static de bu işe yarıyor. programın ana başlangıç noktası olan main() metodu kullanılması için Program class'ından bir nesne oluşturmuyoruz. main() metodu otomatik olarak çalışıyor. static tanımlanmasının sebebi bu.
Main methodunun genelde Void olarak tanımlanmasının sebebi de çoğu durumda program sonlanınca geriye bir değer döndürmenin gereksiz görülmesi. Geriye değer döndürmeyi fonksiyonun sonucu gibi düşünebilirsiniz. Örneğin basit bir toplama fonksiyonu yazdık.

C#:
int topla(int a, int b) {
 return a + b;
}

Burada int topla diyerek geriye tam sayı döndüreceğimizi söyledik. Bu fonksiyonu kullanırken de dönen değer bir değişkene alıp kullanabiliyoruz.

C#:
public static void main(string args[]) {
 var sonuc = topla(3,5);
 Console.WriteLine(sonuc);
}

Gibi. Burada topla metodundan geri döndürülen değeri main içinde kullandık. Main'in kendisi için ise böyle bir ihtiyacımız olmaz. Program sonlandığında zaten döndürülen değeri çoğu zaman kullanmayız. Bu nedenle değer döndürmüyorum anlamında Void kullanıyoruz. Yani bu methodun ek sonucu yoktur diyoruz. Main'in genelde Void olarak tanımlanmasının sebebi bu.

Bu arada istersek Main'i int olarak tanımlayıp programın kendisinden de değer döndürebiliriz. Hata kodu döndürme amaçlı kullanılabilir. Böylece bir program sonladığında hata mı oluştu yoksa beklendiği gibi mi sonlandı anlayabiliriz. Özellikle Linux'te ci/cd süreçlerinde vs. kullanılan bir yöntem fakat çok detay bir örnek.
 
Son düzenleyen: Moderatör:

Technopat Haberler

Geri
Yukarı