C#, Asp.Net, .Net Core
C# Konusunda Bir Kaç Soru Ve Html Css Konusunda Yardım
C# Konusunda Bir Kaç Soru Ve Html Css Konusunda Yardım
-
merhaba üstadlar bugün müritimiz saolsun resharper ı benimle paylaştı ve bende kurdum. daha sonrasında birkaç uyarı verdi bunları inceledim yaptım. şimdi sizlere bir kaç soru sormak istiyorum.
C#
----------------------
normalde bu şekilde tanımladığım bir değişkenim vardı
OdbcConnection con = new OdbcConnection(); bana bunu
private readonly OdbcConnection _con = new OdbcConnection(); olarak tanımlamamı söyledi burda private ve readonly bu kadar önemlimi koyulmazsa ne fark oluşturur birde merak ettiğim tüm değişkenlerimin başına "_" koyduruyor bu _ olayı nedir neden böyle birşey yaptırıyor ?
Birde şöyle birşey var
StreamWriter sw = File.AppendText(Server.MapPath("~/log.txt")); bunun yerine bana
var sw = File.AppendText(Server.MapPath("~/log.txt")); bu şekilde kullanmamı istedi neden bu şekilde kullanmalıyım bunun farkı nedir ?
resharper kullanan üstadlar sizin bunuda mutlaka yap dediğiniz birşey varmı acaba ekstra olarak ?
HTML
----------------
web sitemin içerisinde sosyal medya iconlarını gösterdiğim bir bölüm var aşağıda olduğu gibi ben bunu lokalde çalıştırınca bir sıkıntı yok ama hostinge yükleyince bu ikonların hiç birisi gözükmüyor(farklı değil hiç yokllar) cloudflare kullanıyorum bu neden olur ?
<div class="social-list social-list-bottom boxed">
<a href="" class="icon ion-social-twitter"></a>
<a href="" class="icon ion-social-facebook"></a>
<a href="" class="icon ion-social-googleplus"></a>
<a href="" class="icon ion-social-linkedin"></a>
<a href="" class="icon ion-social-dribbble-outline"></a>
</div>
<!-- Styles -->
<link href="https://fonts.googleapis.com/css?family=Montserrat:500,600,700&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Poppins:300,400,400i&display=swap" rel="stylesheet">
<link href="css/style.css" rel="stylesheet" media="screen">
-
- oldebconnection, access tarzı bir veritabanına bağlantı kümesi (Şöyle söyleyeyim, sunucuda veritabanına bağlanan bir anahtar olmuş olsun. Sen dbye bağlanmak istiyorsan bu anahtardan bir kopya oluşturup o anahtar ile db açıp sütunlarını dolaşman gerek.) OdbcConnection con = new OdbcConnection(); diyerek o anahtarı con adlı değişkene atamış oluyorsun.
- private, sadece o dosya (class) içindeki yerlerden çağrılabilir. public ise o dosyayı (class)ı çağıran diğer yerlerden de çağırılarak işlem yapılabilir. Bellekte kapladığı alan harici önemi yok diye biliyorum.
- var ile bir şeyi karşılama, ne tipte dönüş yapacağını bilmediğin işlemler için biçilmez kaftan oluyor. Ama oradaki "var" herhangi bir tipte değişken anlamına geliyor. Örnektekinde StreamWriter olarak da kalabilirdi.
- Resharper kullanma, visual studio enterprise yada professional kullanırsan ondaki intellisense gayet iyi.
- Htmldeki soruna gelince büyük ihtimal "icon ion-social-twitter" class değerlerini karşılayan cssler font kütüphanesi kullanıyor. Lokalde bu fontlar var (xxx.eot gibi...) sunucuda yok. Sunucuda çalışan sitede tarayıcı konsolunu kontrol et. Orada felanca fontlar bulunamadı diye uyarı veriyordur.
-
_ ile baslamasi bir programcilik teknigidir. Nasil ki camelCase olayi var (ilk kelimeden sonraki kelimelerin bas harfi büyük yazili), bu da ayni sekilde private degiskenler baslarken _ isareti konur böylece degiskeni görür görmez, sinif icerisinde gecerliligi olan bir private degisken oldugunu anlarsin. bazilari _ kullanmak yerine this.abc diye kullaniyor.. Ama genel olarak _ kullanilir. Kod okunabilirligini arttirmak icin.
resharper, daha okunabilir, standard bir kod formati olusturmana yardimci oluyor. o sekilde ögrenirsen herkesin anlayacagi standartta bir kod yazmis olursun.
-
furkiak bunu yazdı..
normalde bu şekilde tanımladığım bir değişkenim vardı
OdbcConnection con = new OdbcConnection(); bana bunu
private readonly OdbcConnection _con = new OdbcConnection(); olarak tanımlamamı söyledi burda private ve readonly bu kadar önemlimi koyulmazsa ne fark oluşturur birde merak ettiğim tüm değişkenlerimin başına "_" koyduruyor bu _ olayı nedir neden böyle birşey yaptırıyor ?
Birde şöyle birşey var
StreamWriter sw = File.AppendText(Server.MapPath("~/log.txt")); bunun yerine bana
var sw = File.AppendText(Server.MapPath("~/log.txt")); bu şekilde kullanmamı istedi neden bu şekilde kullanmalıyım bunun farkı nedir ?
...C#'ın biraz değişik bir durumu var (nedendir bilinmez).
Bir değişkeni (ya da bir şeyi demek daha doğru) readonly ya da const olarak tanımlayabiliriz. Aradaki fark const'un aynı zamanda kendiliğinden static olması. Başka bir deyişle const olarak bildirdiğimiz şey artık sınıf nesnesi.
readyonly ile işaret ettiğimiz şey değişebilir (aslında immutable diye düşünürüz) fakat referans sabit kalır.
var ile bildirdiğimizde aslında türü de girmek zorundayız (ilk değer atıyoruz) fakat derleyici bana türü sen belirle diyoruz. Metod kapsamı içinde şu iki ifade özdeş:
var i = 10;
int i = 10;
Normalde bir fark yok gibi fakat LINQ vs. sorgularında işimizi kolaylaştırıyor.
private, protected, public erişim belirleyicileridir. Bir nesneye o sınıf dışından (her sınıfın kapsamı kendisidir) görünüp görünmeyeceğine veya ne şekilde görüleceğine karar verir. private olarak belirtilmiş bir nesneye, sınıf kapsamı dışından erişemeyiz (göremeyiz bile). Zaten encapsulation prensibi bunu gerektirir.