String Builder Sınıfı

String Builder Sınıfı

String Builder Sınıfı

Bu yazımızda String Builder sınıfı ve kullanım yerlerinden bahsedeceğiz.

Kodlarımızda en sık kullandığımız nesnelerden birisi olan String nesnesi immutable (değiştirilemez) bir nesnedir. Immutable olması nedeniyle üzerinde bir değişiklik işlemi (örneğin string birleştirme) yaptığımızda nesne yeniden oluşturulur ve bellekten yeniden yer ayrılır.  Eğer bir kaç defa bu işlemi yapacaksak çok sorun teşkil etmez ancak bir döngü içerisinde çok fazla sayıda string üzerinde işlem yapmamız gerekli ise bu çok fazla yük getirecektir. İşte bu noktada String Builder sınıfı devreye girmekte ve performansı artırmak için kullanılmaktadır.

System.Text NameSpace’inde bulunan String Builder Sınıfı bize oluşturuduğumuz nesne üzerinde yeni bir nesne oluşturmadan değişiklik yapma imkanı sunar. Bu özelliği ile string üzerinde çok sayıda değişiklik yaptığımız uygulamalarda yüksek performans sağlar. Ayrıca oluşturacağımız stringin büyüklüğünü de başlangıçta belirleyebiliriz.

Şimdide örnekler üzerinde constructor ve methotlarının kullanımı görelim:

StringBuilder sBuilder = new StringBuilder("Default Constructor");
StringBuilder sBuilder = new StringBuilder("Sınırlı Kapasite", 100);

sBuilder.Append("string ekle");
sBuilder.AppendLine(); //Yeni Satır ekle
sBuilder.AppendLine("Yeni satır ve string ekle");

sBuilder.Replace("A", "B"); //A harflerini B ile değiştir
sBuilder.Insert(15,"beni 15. karakterden sonra ekle" );

? Operatörü ile İf Else Kontrolü

? operatörü ile İf-Else Kontrolü
Yaptığımız durum kontrollerinde tek bir veri veya işlem sonucunu döndürmek istediğimizde ? operatörü‘nü kullanabiliriz.

? operatörü, veri kalabalığını ve satır sayısını azaltan oldukça kullanışlı bir operatör.

Kullanımı da oldukça basit. Soru işareti öncesi koşulumuz sağlanıyorsa, soru işaretinden sonraki ilk değer değilse ikinci değer döndürülüyor.

Aynı durumu if-else kontrolü ve ? operatörü ile karşılaştırıp farkı görelim.

 

int sayi = Convert.ToInt32(Console.ReadLine());
string durum;

// if-else kontrolü.
if (sayi%2 == 0)
durum= "çift";
else
durum= "tek";

// ? operatörü
durum= (sayi%2 == 0) ? "çift" : "tek";

C# Methoddan 2’li Veri Döndürme

Anahtar-Değer

Anahtar-Değer

C# Methodlarımız tanım olarak tek tipte veri döndürmemize izin veriyor. Birden fazla değer veri döndürmek istediğimizde kullanabileceğimiz farklı yöntemler mevcut.

Bu yazımda Anahtar – Değer olarak ikili verileri döndürülmesinden bahsedeceğim.

İkili veriler Dictionary gibi bir çok yerde kullanılmakta. Temel mantık olarak her anahtar için bir değer atıyoruz.  Bu şekilde bir ikili değeri methodumuzdan döndürmek istediğimizde KeyValuePair değişkeni olarak döndürmek  mümkün.

Aşağıdaki örnekte bir ikiliyi nasıl döndürdüğümüzü göreceksiniz.

public KeyValuePair<string, int> MeyveKilo()
{
return new KeyValuePair<string,int>("elma",5);
}


Sonuç değerlere erişmek için .key ve .value özelliklerini kullanıyoruz.

Mysql Tablo Kilitleme – Kilitli Tabloları Görüntüleme

Mysql tablo kilitleme.

Mysql tablo kilitleme.

 

Birden fazla geliştiricinin işlem yaptığı veritabanlarında, geliştiriciler geliştirmekte olduğu tabloyu kilitleyerek diğer geliştiricilerin geçici olarak erişmesini engelleyebilirler.  Bu sayede birbirinin işlemini ezme engellenmiş olur.

Mysql veritabanlarında aşağıdaki komutlar ile tablolarımızı kilitleyip, kilidini açabilir. Hangi tablolar kilitli konumda görüntüleyebiliriz.

Bir Tabloya Okuma Kilidi Koymak için:

lock TABLES tablo_adi read;

Bir Tablonun Okuma Kilidini Açmak için:

unlock TABLES tablo_adi read;

Kilitli Tabloları Görüntülemek için:

show open tables WHERE In_use > 0;

Google Adwords İndirim Kuponu

google adwords 100 tl indirim kuponu Bildiğiniz gibi Adwords, sitenize ya da uygulamarınıza reklam alabileceğiniz bir Google platformu. Bu platform ile kendi sitemize herhangi bir ürün ya da hizmetimiz için ulaşmaları için reklam verebiliyoruz. Belirlediğimiz anahtar kelime grupları için google aramalarında sitemiz ilk sayfada çıkıyor ve doğrudan hedef kitlemize ulaşabiliyoruz.

İlk kez Google Adwords kullanacaklar için google 100tl değerinde indirim kuponu veriyor. Ancak bu kuponu kullanabilmek için 25tl yatırmanız gerekli. Kısacası 25TL ye 125TL alıyorsunuz gibi düşünebilirsiniz.

Google zaman zaman bu kuponları sizlere mail ya da reklam yolu ile ulaştırıyor ancak tam ihtiyacınız olduğunda ulaşamayabiliyorsunuz. Aşağıdaki linkten istediğiniz zaman ücretsiz google adwords hediye çeki edinebiliyorsunuz.

http://www.google.com.tr/adwords/coupons/

Not: Kuponunuzu belirli bir süre içerisinde kullanmanız gerekmektedir. Eskiden açılmış adwords hesapları kuponlardan yararlanamamaktadır.

SQL Server Türkçe Karakter Problemi

sql server MSSQL’de eğer databasimizin collation’u Turkish_CI_AS seçilmemişse insert yaparken türkçe karakter problemi yaşamamız mümkün. Eğer veritabanınız GoDaddy gibi yurtdışında bulunan bir hosting firmasında bulunuyorsa collation default olarak Latin1 seçilmiş olabiliyor. Bunu değiştirme yetkiniz yoksa, insert ve update yaparken stringlerimizi unicode olarak göndermemiz gerekli.

Stringleri unicode olarak göndermek için başına büyük N harfi koymamız gerekli.  Bu şekilde gönderilen tüm karakter setleri unicode olarak kaydedilecektir. Bu sayede türkçe karakterlerimiz korunmuş olacaktır.

INSERT INTO dbo.Kitaplar (yazar) VALUES(N’DEITEL’);

SQL Server Tablodaki Kolonun Dil Grubunu Değiştirmek

Database collationMssql de tablomuzun belirli bir kolonun colletion’unu değiştirebiliyoruz. Aşağıdaki örnekte kitaplar tablosunun yazar alanını Türkçe dil grubu olan Turkish_CI_AS olarak değiştiriyoruz.

ALTER TABLE dbo.Kitaplar ALTER COLUMN yazar
varchar(50)COLLATE Turkish_CI_AS NOT NULL;