inicio mail me! sindicaci;ón

Archive for C#

Nullable Tipler – ?? Operatorü

Nullable tipler bir değere sahip olabileceği gibi, undefined durumunda da olabilir. ?? operatoru null kontrolü yapmamızı sağlayarak nullable bir tipin değerini non-nullable bir tipe atamamızı kolaylaştırır. Ayrıca non-nullable tiplerin önüne ? konularak da bu tiplerin, nullable tipler gibi davranmasını sağlayabiliyoruz.

DateTime myDateTime = null; //nullable tip olmadığı için derleme zamanında hata verir.

Kullanımına basit bir örnek

DateTime? myDateTime = null; //sorunsuz çalışır

DateTime? yourDateTime = DateTime.Now;

DateTime dateTime = myDateTime ?? yourDateTime ?? DateTime.Now; // myDateTime null ise yourDateTime'ın değerini ata, o da null ise DateTime.Now'ın değerini ata

String olarak Geçerli bir DateTime Oluşturmak – DateTime Tipini Doğrulama

Eğer Sql Server’da DateTime nesnesi ile uğraşıyorsanız, çoğu zaman string türünden bir ifadeyi DateTime formatına uygun bir şekle dönüştürmeniz gerekecektir. Yoksa formatın uygun olmadığına ( String was not recognized as a valid DateTime ) dair bir hata alacaksınız. Bu yöntemi try catch ile çözmekten ziyade basit bir if ile üstesinden gelmek daha verimli olacaktır.


DateTime dtime;

if (!DateTime.TryParse(txtInvoiceDate.Text, out dtime))

txtInvoiceDate.Text = DateTime.Today.ToShortDateString();

Artık dtime nesnesini istediğiniz yerde kullanabilirsiniz.

İyi çalışmalar

If / Else Stenografisi – Kısa Yöntem

Kısa If/Else ifadeleri için uzun uzun kod yazmamızı engelleyen kullanışlı bir yöntemdir. Birçok programlama dili bu kullanış biçimini desteklemektedir.

C# ile basit bir kullanım örneği verelim.

IDsi txtKdv olan bir textbox kullanıcı tarafından boş bırakılmışsa bunun arka planda kdv değişkenine “0″  olarak atanmasını, eğer bir sayı girilmişse bunu float’a dönüştürerek yine aynı değişkenine atanmasını sağlayacağız.

float kdv = (txtKdv.Text.Length == 0) ? 0 : Convert.ToUInt32(txtKdv.Text); 

İyi çalışmalar,

C#’da Dizi Yapısı, Çok Boyutlu Dizileri Pratik Tanımlama Methodu

Merhabalar,

Bugünkü yazımda kısaca dizilerden bahsedeceğim ve çok boyutlu dizilerin C#’da  nasıl daha kolay tanımlanabileceğini açıklayacağım.

Diziler içerisinde birçok nesne veya değişken tutmanıza yardımcı olan bilgi yığınlarıdır. Eğer diziler olmasaydı yazacağınız programın büyüklüğüne göre sadece nesneleri tutmak için onlarca satır kod yazmanız gerekebilirdi. Örneğin,

[php]

int bolum1;

int bolum2;

int bolum5;

int bolum61;

[/php]

gibi uzayıp giden, yazarken de haliyle fazlasıyla sıkılacağımız bir kod yığınıyla karşılaşacaktık. Oysa dizileri kullanarak bu işlemi kolaylıkla gerçekleştirebiliyoruz.

[php] int[] bolum = int[61];  // 1 boyutlu 62 tane değer alabilen bir dizi [/php]

  • Diziler her zaman 0(sıfır)’dan başlamaktadır. Eğer 4 değer alabilen bir dizi tanımlamak istiyorsanız, ” int[] bolum = int[3] ” yazmanız gerekiyor.

Çok Boyutlu Dİziler (Multidimensional Arrays)

C#’da birden çok boyutlu dizileri tanımlama  C,C++ ve Java gibi dillerden biraz farklılık gösterir. Ancak bu fark işimizi kolaylaştırmamızı sağlamaktadır.

Pratik Yöntem

Eğer C#’da çok boyutlu bir dizi tanımlamak istiyorsanız, yazmanız gereken

[php]int[ , ] dizi2Boyut;

int[ , , ] dizi3Boyut;[/php]

10 Boyutlu bir dizi için,

[php]int[ , , , , , , , , , ] dizi10Boyut;[/php]

Kısaca, n boyutlu bir dizi tanımlamak istiyorsanız parentezin içine n-1 tane virgül koymanız yeterli olacaktır.

[php]int[ , ] dizi2Boyut = new int[5,5];
// 5 x 5 boyutlarında bir dizi, yukarıdaki resimde (sol alt kısımda) görebilirsiniz

int[ ,  , ] dizi3Boyut = new int[5,5,3];
// 5 x 5 x 3 boyutlarında bir dizi, yukarıdaki resimde(sağ tarafta) görebilirsiniz[/php]
Yazının Devamı

Zaman Ayarlı Oturum Sonlandırıcı – Bilgisayar Dinlendirici v1.0.0

Merhabalar,

Uyku sorunu yaşayan biri olarak, bilgisayarda kısmen amaçsızca birşeyler izleyerek(izlediğimi zannederek) uyumayı adet edinmiş biri olarak onun sabaha kadar açık kalmamasına da genellikle özen göstermeye çalışırım. Zira gün içinde teknolojiden uzaklaşamadığımız için uykumuzda birkaç saat de olsa vücudumuzu manyetik alandan kısmen de olsa uzaklaştırmak şart. Bu anlamda Windows 7′yi kullanmaya başlamadan önce bilgisayarımı zaman ayarlı ufak bir programla kapatabiliyordum ancak Windows7′ye geçince bu kullandığım program zaman zaman oturumu sonlandırmayı başaramıyordu ve sabah kalktığımda hata pencereleriyle dolu bir bilgisayarla karşılaşıyordum. Alternatif yeni bir program aramak yerine, nasıl olsa bilgisayar mühendisi olacağız(İnşallah) şu ufak programı da kendimiz yazıp kullanalım diyerekten işe koyuldum. Bir Timer, birkaç button, textbox ve checkbox işimi fazlasıyla gördü…

Kurulum dosyasını indir

Kaynak kodları indir

Önceki Yazılarım