C# public Void ve public intin farkı nedir?

  • Konuyu başlatan 0x91
  • Başlangıç Tarihi
  • Mesaj 6
  • Görüntüleme 2.119

0x91

Hectopat
Katılım
23 Şubat 2021
Mesajlar
1.341
Çözümler
6
Daha fazla  
Cinsiyet
Erkek
Arkadaşlar fark nedir? public Void yerini int yapınca hata alıyorum mesela bunun sebebi nedir?

Aralarındaki fark nedir hangisi neyde kullanılır?
 

Dosya Ekleri

  • farkx.PNG
    farkx.PNG
    10,5 KB · Görüntüleme: 202
Son düzenleyen: Moderatör:
Arkadaşlar fark nedir? public Void yerini int yapınca hata alıyorum mesela bunun sebebi nedir?

Aralarındaki fark nedir hangisi neyde kullanılır?
public anahtar kelimesi bir sınıfta oluşturduğun methodu başka bir sınıfta kullanabilmeni sağlıyor. Eğer public olarak belirtmezsen default hali private oluyor. Void ise herhangi bir değer döndürmeyecekse o method başında publici belirttiğin gibi belirtiyorsun. Bir değer belirtmesini istiyorsan değişken ismi gibi tanımlayıp ardından method ismi oluşturunca mutlaka return ile ilgili veri tipi ile bir değer döndürmen gerekiyor.

C#:
//static, aynı sınıfın içerisinde kullanılacak methodlar için,
//public -private, farklı sınıflar arasında oluşturulan methodlar kullanılabilmesi için public olarak belirtilmeli, default hali private
// void, methodun herhangi bir değer döndürmediği sıralarda belirtilir. eğer integer olarak bir dğeer dönecekse bu int olarak yazılır

class Program // Program adında bir sınıf tanımladık
{
    static void Main() // aynı sınıfın içerisinde kullanabileceğimizi bildiğimizden static olarak belirledik. metot herhangi bir değer
                       // döndürmediği için void olarak belirttik, ayrıca private veya public belirtmedik, belirtmediğimiz sürece her
                       // zaman private olacak
    {
        Console.WriteLine("'Program' sınıfının 'Main' methodu çalıştı");
        Baska_Class.Metot(); // altta oluşturduğumuz sınıftan "Metot" adlı methodu yani diğer bir değişle fonksiyonu çağırdık
    }
}
class Baska_Class// Baska_Class adında bir sınıf tanımladık
{
    static public void Metot() // aynı sınıfın içerisinde kullanılabileciği düşündüğümden static olarak belirledim.
                               // method herhangi bir değer döndürmeyeceği için void olarak belirttim.
                               // diğer sınıflardan erişebilmek için yani başta oluşturduğum ana sınıfta, buradaki,
                               // methoda erişebilmek için public olarak belirttim
    {
        Console.WriteLine("'Baska_Class' sınfının 'Metot' methodu çalıştı"); // ekrana yazı yazdırdım
    }
}

1 ay önce c# çalışırken aldığım not. Şöyle bırakıyorum anlaşılır diye düşünüyorum.
 
Son düzenleme:
public anahtar kelimesi bir sınıfta oluşturduğun methodu başka bir sınıfta kullanabilmeni sağlıyor. Eğer public olarak belirtmezsen default hali private oluyor. Void ise herhangi bir değer döndürmeyecekse o method başında publici belirttiğin gibi belirtiyorsun. Bir değer belirtmesini istiyorsan değişken ismi gibi tanımlayıp ardından method ismi oluşturunca mutlaka return ile ilgili veri tipi ile bir değer döndürmen gerekiyor.

C#:
//static, aynı sınıfın içerisinde kullanılacak methodlar için,
//public -private, farklı sınıflar arasında oluşturulan methodlar kullanılabilmesi için public olarak belirtilmeli, default hali private.
// void, methodun herhangi bir değer döndürmediği sıralarda belirtilir. eğer integer olarak bir dğeer dönecekse bu int olarak yazılır.

class Program // Program adında bir sınıf tanımladık.
{
 static void Main() // aynı sınıfın içerisinde kullanabileceğimizi bildiğimizden static olarak belirledik. metot herhangi bir değer.
 // döndürmediği için void olarak belirttik, ayrıca private veya public belirtmedik, belirtmediğimiz sürece her.
 // zaman private olacak.
 {
 Console.WriteLine("'Program' sınıfının 'Main' methodu çalıştı");
 Baska_Class.Metot(); // altta oluşturduğumuz sınıftan "Metot" adlı methodu yani diğer bir değişle fonksiyonu çağırdık.
 }
}
class Baska_Class// Baska_Class adında bir sınıf tanımladık.
{
 static public void Metot() // aynı sınıfın içerisinde kullanılabileciği düşündüğümden static olarak belirledim.
 // method herhangi bir değer döndürmeyeceği için void olarak belirttim.
 // diğer sınıflardan erişebilmek için yani başta oluşturduğum ana sınıfta, buradaki,
 // methoda erişebilmek için public olarak belirttim.
 {
 Console.WriteLine("'Baska_Class' sınfının 'Metot' methodu çalıştı"); // ekrana yazı yazdırdım.
 }
}

1 ay önce C# çalışırken aldığım not. Şöyle bırakıyorum anlaşılır diye düşünüyorum.

Anladım teşekkürler. Peki bu attığınız kodun Windows form App versiyonu var mı açıklamaları ile?
 
Anladım teşekkürler. Peki bu attığınız kodun Windows form App versiyonu var mı açıklamaları ile?
Hayır. Konsol uygulamaları üzerinden çalıştığımdan şuan arayüz için çıkardığım notlarım bulunmuyor. Gerçi şöyle düşünüyorum bu verdiğim bilgileri kullanarak arayüz üzerinde denerseniz verim alırsınız gibi duruyor ne dersiniz ? Bunu dışında ek bilgi gerektiği yerler arayüz componentlerini kullanmaktır diye düşünüyorum. Onların nasıl kullanıldığını öğrenmelisiniz.
 
Hayır. Konsol uygulamaları üzerinden çalıştığımdan şu an arayüz için çıkardığım notlarım bulunmuyor. Gerçi şöyle düşünüyorum bu verdiğim bilgileri kullanarak arayüz üzerinde denerseniz verim alırsınız gibi duruyor ne dersiniz?

Evet olabilir aynı mantık zaten teşekkürler.
 
Belirtmeden kendimi durduramayacagim zira, syntax ogrenmek essential olsa da kaliteli kod yazmadan cok bir faydasi olmuyor.

Bu sekilde a / b gibi bir operasyonu `wrap` eden bir fonksiyon gereksiz olmak ile beraber oldukca guvensiz. Cunku ben projemde bol(5,3) gibi bir satir gorsem, ciktisinin ondalik bir sayi ya da tam sayi olup oldugunu anlayamam.

Ayni sekilde bir mesaj box gostermeyi de bir fonksiyon ile wrap etmene gerek yok.

Ben yazdır isminde bir fonksiyon görsem konsol'a yazdıracağını tahmin ederim çünkü genel kullanım budur.

Son olarak, bu konuda kesinlikle ısrarcıyım; ne olursa olsun, hiç bir durumda değişken/fonksiyon isimleri türkçe olmamalı.

Hatta bence comment'ler dahil kod dosyasında ingilizce dışında dil olmamalı ancak çok fazla yazılımcının çalıştığı dinazor şirketlerde buna ikna etmek biraz zor.



Bu yorumumla kimseyi kırmak istemiyorum ve bu kodların sadece bir pratik parçası olduğunu idrak edebiliyorum. Ama daha sonra referans alınabilmesi için faydalı olucağını düşünüyorum yorumumun.
 
Belirtmeden kendimi durduramayacagim zira, syntax ogrenmek essential olsa da kaliteli kod yazmadan cok bir faydasi olmuyor.

Bu sekilde a / b gibi bir operasyonu 'wrap' eden bir fonksiyon gereksiz olmak ile beraber oldukca guvensiz. Cunku ben projemde bol(5, 3) gibi bir satir gorsem, ciktisinin ondalik bir sayi ya da tam sayi olup oldugunu anlayamam.

Ayni sekilde bir mesaj box gostermeyi de bir fonksiyon ile wrap etmene gerek yok.

Ben yazdır isminde bir fonksiyon görsem Konsol'a yazdıracağını tahmin ederim çünkü genel kullanım budur.

Son olarak, bu konuda kesinlikle ısrarcıyım; ne olursa olsun, hiçbir durumda değişken/fonksiyon isimleri Türkçe olmamalı.

Hatta bence Comment'ler dahil kod dosyasında İngilizce dışında dil olmamalı ancak çok fazla yazılımcının çalıştığı dinozor şirketlerde buna ikna etmek biraz zor.

Bu yorumumla kimseyi kırmak istemiyorum ve bu kodların sadece bir pratik parçası olduğunu idrak edebiliyorum. Ama daha sonra referans alınabilmesi için faydalı olacağını düşünüyorum yorumumun.

Teşekkürler.
 

Technopat Haberler

Yeni konular

Geri
Yukarı