TryParse() Kullanımı

C# içerisinde belki de en çok kullandığımız metodlardan biridir. Bir nesneyi dönüştürürken çeşitli hatalar ile karşılaşabiliriz. Bu hataların başında da “object reference not set to an instance of an object” yani “nesne başvurusu bir nesnenin örneğine ayarlanmadı” hatası gelir. Bu hatanın en büyük nedenlerinden biri objenin içeriğinin boş olması veya istediğimiz tipe uygun olmamasıdır. Burada alabileceğimiz hatalardan bir diğeri de; “converting data type varchar to numeric” veya türevi hatalardır. Genel kullanım olarak kurslar dahil bir …

.Net Core ile app.settings Dosyasından Değer Okuma

.Net Core’un hayatımıza girmesi ile aslında pek çok yazılımcı bir bakıma rahat bir nefes aldı diyebiliriz. Elbette yaygın olarak bilindiği üzere bu teknolojinin en önemli ve güzel tarafı şimdilik %90 diyebileceğimiz ve muhtemelen yakında %100 olacak platform bağımsızlığıdır. Örneğin burada yazdığınız bir uygulamayı linux, macOS, windows gibi platformların hemen hepsinde çalıştırabiliyor olmanız, bu teknolojinin getirdiği en büyük yeniliklerin başında geliyor. Tabii ki buradaki %90 tabiri biraz afaki. Zira tüm sınıfların SDK’ları %100 oranında tamamlanmamış olasa …

string.Format() ile Karakter Katarını Formatlama

C# içerisinde belki on binlerce farklı sınıf ve metod var. Peki bunlardan kaç tanesini gerçek anlamları ile kullanıyoruz. Bir çok metod aslında günlük kullanımımız içerisinde kendini çok farklı ortaya çıkarmamızı sağlayan farklı yöntemlerle şekil buluyor kodlama hayatımızda. İşte string.Format() fonksiyonu da kısaca bunlardan bir tanesi. Genel içeriği aşağıdaki şekilde; Yukarıda belirttiğim şekilde, istediğiniz formatı hazırladıktan sonra içerisine istediğini türden objeyi atarak yazınızı oluşturabilirsiniz. Nasıl mı? String.Format Nasıl Kullanılır? Buradaki “2020” hatalı bir yazım değil. Zira …

C# Asp.Net ve Core İle E-Mail Gönderme

Merhaba Arkadaşlar. Uzun zamandır hiç paylaşım yapmıyordum. Tabi bu arada kodlamalara devam ediyoruz. Hayatın bir gerçeği. 🙂 Az önce belki hayatımda yüzlerce kez kullandığım bir kodu tekrar tekrar yazmak zorunda kaldım. Bu da haliyle bende “neden ben siteme bu kodu hazırlayıp koymadım ki” hissiyatını uyandırdı istemsizce. Bu yüzden de hemen kodu hazırlayıp, açıklamaları ile birlikte siteye atmak istedim. İşte bu paylaşım tamamen böyle bir durumun ürünü. Umarım daha sonralarında size çok çok daha yararlı gelecek …

C# İle TCMB Döviz Kurlarını Okumak/Almak

Bildiğiniz üzere Türkiye içerisinde genel yasal döviz kurlar Türkiye Cumhuriyet Merkez Bankasından alınmakta. Tabi bu işlem için kendilerinin de bir hizmeti yok değil. Her gün saat 15:30’da yeni kurlar açıklanır ve TCMB’nin sitesinde ve XML’inde bu kurlar güncel olarak görüntülenebilir. İşte o adres; https://www.tcmb.gov.tr/kurlar/today.xml Buradaki değeri istediğiniz periyotta okuyup veritabanınıza kaydederek güncel kur işlemlerini takip edebilirsiniz. Nasıl mı? İşte size tam kod; Burada belirtilen “USD” / “EUR” gibi alanları XML’deki alanlara göre güncelleyerek istediğiniz kuru …

Incorrect syntax near ‘OFFSET’. Invalid usage of the option NEXT in the FETCH statement “in Entity Framework core”

Merhaba Arkadaşlar, Yine baş belası olabilen bir hatayla karşı karşıyayız. Türkçesi:‘OFFSET’ yakınında yanlış sözdizimi. “Entity Framework çekirdeğinde” FETCH deyiminde NEXT seçeneğinin geçersiz kullanımı. olan bu hatanın aslında sebebi development ve/veya test sunucularınız ile production sunucularınızdaki SQL versiyonları. Yani diyelim ki SQL Server 2012 ile geliştirme ve/veya test yaptınız ancak canlıya geçerken SQL Server versiyonunuz 2008 veya 2008 R2. İşte bu durumda Entity Framework tarafında bu hatayla karşılaşırsınız. İnternette envayi çeşit çözüm yöntemi sunulmuş iken aslına …

Roslyn\CSC.exe Hatası

roslyn\csc.exe yolunun bir parçası bulunamadı. Bir çoğumuzun başına gelmiştir belki de. Özellikle bir projeyi bir bilgisayardan başka bir bilgisayara taşıdıktan sonra eğer bin/debug klasörünün tamamını almamış isek, rastlayabileceğimiz nerede ise kaçınılmaz hatalardan biri. Aslında 2 çözüm yolu var. Birincisi oldukça basit; Roslyn csc.exe Hatası ve Çözümü (1) Visual Studio’dan Solution üzerine sağ tıklayın ve Clean Solution deyin. Ardından da tekrar Solution’a saü tıklayıp Rebuild Solution deyin. Bir süre rebuild işleminin bitmesini bekledikten sonra projenizi çalıştırabilirsiniz. …

C# İle XML Attribute (Özellik) Okuma

XML kullanımı yavaş yavaş azalıyor olsa da yine de XML’ler hala daha bir çok noktada vazgeçilmezlerimiz konumunda. Yerini yavaş yavaş JSON’lara bırakıyorlar. Lakin egemenlikleri hala tamamen sönümlenmiş değil. Bu neden ile basit bir şekilde XML Adres’ten XML’i ve attribute’lerini okumak için hızlıca bir örnek paylaşmak isterim. Evet, konu epey basit oldu farkındayım. Ancak gerçekten okumak bu kadar basit olduğu için konuyu kısa ve net ele almak istedim. Node’lar halinde XML okuma konusunu zaten önceden yazmıştım. …

Basic Authentication Kullanımı, Web Servisler İle Kullanım Tekniği

Merhabalar, basit authentication diye bir tabiri eminim yazılım hayatımızın bir noktasında duymuşuzdur ya da yakın zamanda duyacağız. 🙂 Aslında tam da Türkçeleştiği şekilde Basic Authentication, Temel Kimlik Doğrulama anlamını taşımaktadır. Özellikle SOAP yazmış olduğunuz web servisler için (yani asmx) temel güvenlik olarak kullanılmaktadırlar. Elbette temel olduğu için yüksek güvenlikli olacağı kesinlikle düşünülmemelidir. Tek başına kullanımı daha çok bilindik yerler ile paylaşılır iken ve/veya içerdiği datanın çok elzem olmadığı durumlarda söz konusudur. Diğer türlü düşündüğümüzde, daha …

Stopwatch Using (Kullanımı)

Bir önceki yazımda StopWatch nesnesinin nasıl kullanacağını işledim. Bu yazıda kısaca kendi yazdığım using bloğu içerisinde stopwatch kullanımına değineceğim. Öncelikle tam sınıfımız “StopwatchUsing.cs” ismi ile aşağıdaki gibi olacak. Kullanımı ise şu şekilde: Gördüğünüz gibi artık her yerde Stopwatch nesnesi üretip, ayrı ayrı kodlamanız gerekmeyecek. Bu using bloğu içerisine aldığınız her kodun bitiminde süre otomatik olarak bildiriliyor olacak.   Kolaylıklar… 🙂

Stopwatch() ile Kodun Ne Kadar Sürede Çalıştığını Hesaplamak, Çalışan Kodların İşlem Süresini Bulmak

Bir çoğumuzun öğrenmek istediği şeydir, yazdığımız bir kod bloğunun .net CLR tarafında ne kadar sürede derlenip çalıştırıldığını öğrenmek. Yani kod bloğu başlamasından bitişine kadar geçen süreyi ölçmek isteyebiliriz. Bu durum için “System.Diagnostics” kütüphanesi altında tutulan Stopwatch sınıfını kullanabiliyoruz. Öncelikle Objemizi oluşturup start verdikten sonra kodlarımız işliyor ve kodların bitiş noktasında sw.Stop() dedikten sonra sw nesnemizin toplam süresini öğrenebiliyoruz. Bu da bize start – stop arasında geçen süreyi vermiş oluyor. Örnek Kullanım: Gördüğünüz gibi en sonra ElapsedMilliseconds şeklinde …

C# Belleğe Kopyalama – Clipboard Copy

Windows’un klasik CTRL + C (Kopyalama) tuşu işlevini aşağıdaki kod ile gerçekleştirebilirsiniz. Ancak Windows Form uygulamalar dışında bu kodu kullanabilmeniz için ise System.Windows.Forms DLL’ini referans olarak projenize ekleyip aşağıdaki Windows.Form using’i eklemeniz gerekmektedir.   Eğer belleğe bir image(görsel) atmak istiyor iseniz ise aşağıdaki kodu kullanabilirsiniz;  

C# Döngüler, For, Foreach, While Döngüleri, Karşılaştırma

Selam Arkadaşlar, Özellikle yazılım sektöründeki yeni arkadaşlar için kıssadan hisse şekilde bazı çıtır çerez bilgiler verecek makaleler yayınlayayım istiyorum arada bir de olsa. Bu döngüler konusu da bunlardan bir tanesi elbette. Hepimizin bildiği gibi döngüler yazılımın en temel unsurlarından bir tanesi. Farklı alternatifler geliştirilmeye çalışılmış olsa da (linq bunlardan bir tanesi) çoğu zaman bir döngüden daha performanslı bir hal alamayabiliyorlar. Örneğin en basit şekilde şöyle bir testi anlatayım; Tüm ilişkilerden, database, vb… üçüncü parti uygulamalardan …

C# Sayı Yuvarlama İşlemleri

C# ile temelde bir çok yuvarlama işlevi mevcut. Ancak biz en çok kullanılan 3 yöntemi işleyeceğiz. Aşağıda amaçlarından bahsettiğim gibi en altta da tablo halinde bulabilirsiniz. Yuvarla (Klasik Yuvarlama Mantığı) (Round Kullanımı) Bilindiği üzere, virgülden sonraki sayı 5 ve 5’in üstünde ise yukarı, 5’in altında ise aşağı yuvarlar. Yukarı Yuvarla (Ceiling Kullanımı) Virgülden sonraki sayı ne olursa olsun bir üst rakama yuvarlar. Aşağı Yuvarla (Floor Kullanımı) Virgülden sonraki sayı ne olursa olsun bir alt rakama …

Kelimelerin Baş Harflerini Büyütmek, İlk Harfleri Büyük Yazma

Selamlar, Çoğunuzun bildiği üzere bu tip işlemler genelde mscorlib kütüphanesi ile c# tarafından yürütülür. Burada işlememiz gereken ise string işlemlerine culture sınıfı kullanarak müdahale etmek. Tabi bu müdahaleyi yaparken aynı zamanda da .ToString(), .ToLower(), .ToUpper() gibi method benzeri methodlar haline getirmek. Bu neden ile ToTitleFirstCharacter isminde bir method oluşturacağız. Bu methodu da ExtensionManager sınıfına ekleyerek yapacağız. Aşağıdaki şekilde bir kodumuz olsun. Burada yer alan “kelime” değişkeninde vaadettiğimiz işlemi yapabilmek için aşağıdaki sınıfı oluşturuyoruz.   Kodun tümünü işleyecek olursak …

XML Dosya Okuma

Merhaba Arkadaşlar, C# ile XML dosya okumaya kısa ve hızlı bir şekilde göz atalım istiyorum bu yazıda. Öncelikle aşağıdaki gibi bir örnek dosyamız olsun. (En altta link’ten bu projeyi indirebilirsiniz. XML’de içerisinde var.) Görüldüğü üzere 6 adet node’dan oluşan bir XML dosyam var ve bu dosyadaki verileri okuyarak işlemek istiyorum. En hızlı en güvenli yollardan birisi de Node (Düğüm) olarak anılan her bir node’un tipinin içerisinde dönmek. Tabi burada karşımıza başka node’lar da çıkacak. İşte …

Memory Cache Yöntemi, Artıları ve Eksileri 1

Merhabalar, Bu yazıda Microsoft’un sunmuş olduğu cache, yani ön bellek mekanizmasını ele alacağım. Aslına bakarsanız bu uygulama elbette ram’de epey yer kaplayabiliyor. Ancak eksi yönünün bu olmasına rağmen artıları da yok değil. Bu yazıyı temel anlamda 2’ye bölerek ilerlemek istedim. Bu 1. makalede genel cache mekanizmasına bakacağız. Daha sonra hazırlayacağım 2. makalede ise detay bilgileri vermeye çalışacağım. Gelin şimdi birlikte bakalım. MemoryCache Artıları: Sabit kimi verileriniz için sürekli veri kaynağına (Database) gitmek zorunda kalmazsınız. Verileriniz …

HttpPost, API Post Etmek ve Response Yorumlama

Merhabalar, Kaynakları bol ancak temiz kodu kısıtlı olan bir konuya kısaca değinelim istiyorum. Elimizde bulunan bir API adresine bir Object’i (Class olabilir) post edip, oradan gelen yanıtı da istediğimiz formata çevirip yakalayabileceğimiz bir fonksiyon. Ben bu methoda kısaca SendRequest diyorum. Kullanımı ise aşağıdaki şekilde; Bilindiği gibi T olarak belirttiğimiz değişken bir generic değişken. Dolayısı ile burada methodu çağırırken <T> olarak belirttiğimiz alana istediğimiz tip değişkeni verebiliriz. Bu şekilde data’mız address değişkenine belirtmiş olduğumuz URL’e post …

C# ile IIS Web Site Açmak, Oluşturmak

Merhaba Arkadaşlar, Aslında burada bahsedeceğim konu oldukça kısa ve net. Bir çoğumuz Plesk Panel veya türevi hazır sunucu yönetim uygulamalarını kullanmışızdır sanırım. Windows için elbette en gelişmiş ve yaygınlardan bir tanesidir Plesk Panel. Peki aslında kendi oluşturduğumuz bir uygulamadan aynı şekilde sunucumuzu yönetemez miyiz? Yani en basiti, IIS üzerinde yeni bir web site açamaz mıyız? Elbette açabiliriz. Aslında işlem oldukça basit. Aşağıdaki şekilde 3 satır koda bakıyor. ServerManager sınıfı aslında “Microsoft.Web.Administration” DLL’inde türüyor ve .Net …