Kategori: C Sharp – C#


Derinlemesine yazılım eğitimleri için kanalımı takip edebilirsiniz...
7

C#’ta “Collection Was Modified; Enumeration Operation May Not Execute.” Hatası ve Çözümü

Merhaba, Yazılım dünyasının temeli ve prosedürel programlamanın has elemanlarından biri olan döngü yapıları üzerinde yapılan çalışmalarda farklı olası hatalar almanız gayet normal bir durumdur. Bu hataların onlarca farklı sebebi olabilmekle beraber, döngü kalıbının başlangıç...

1

C#’ta Monitor Sınıfı İle Thread Kontrolü

Merhaba, Asenkron yaklaşım sergilediğimiz çalışmalarımızda herhangi bir T anında farklı Thread’lardaki işlemleri belirli bir sıralama gözeterek gerçekleştirmek için Lock yapısından faydalanmaktayız. Lock yapısı, farklı Thread’larda çalışan Processlerin aynı anda işlenmesinden ziyade Lock bloklarının sırasıyla...

0

C#’ta Bip(Beep) Sesini Çıkartma

Merhaba, Bu içeriğimizde çok eğlenceli bir konuya değineceğiz. C# programlama dilinde bip(beep) sesini çıkaracak ve hatta çıkacak olan sesin frekans ve süre ayarlarını gerçekleştireceğiz. Öncelikle bildiğimiz sesten başlayalım. \a Karakteri Eğer yukarıdaki gibi metinsel...

C# 7.0 5

C# 7.0 – Ref Returns

Merhaba, .NET çatısı altında yapılan güncellemeler her zaman yeni keyword yahut yapı getirmekten ziyade bilakis genellikle var olanın gelişmesi ve daha pratik bir yapıya bürünmesi üzerine odaklanmaktadır. Şahsen tüm ihtiyaçlara dönük anahtar sözcüklerin var...

C# 7.0 1

C# 7.0 – Out Variables

Merhaba, Bildiğiniz gibi elimizdeki bir değişken ile metot içerisinden değer çekme işlemini out keywordü sayesinde gerçekleştiriyoruz. C# 7.0 ile bu keywordün kullanımındaki bir sakatlık düzeltilmeye çalışılmıştır. Çalışılmıştır diyorum çünkü yapılan güncelleme birazdan da içerikte...

C# 7.0 1

C# 7.0 – Pattern Matching

Merhaba, Bu içeriğimizde C# 7.0 sürümünün en gözde yeniliği olan Pattern Matching özelliği üzerinde duracağız. Detaya girmeden bahsetmek istiyorum ki, bir çok yazılımcı dostumunda beğenerek karşıladığı bu yenilik şahsen 7.0 versiyonu içerisinde diğerlerine nazaran...

0

C#’ta IComparer Interface’i İle Nesneleri Sıralama

Merhaba, Önceki yazılarımdan C#’ta IComparable Interface’i İle Nesneleri Sıralama başlıklı yazımda nesnelerin sıralanabilmesi için IComparable interface’i ile bir sıralama algoritması belirlemiştik. Eğer ilgili yazıyı okuduysanız IComparable interface’i ile kendi oluşturduğumuz sınıflar üzerinde sıralama algoritması...

6

C#’ta System.Reflection Kütüphanesi

Merhaba, C# dilinde; bir sınıfın elemanlarına nesne, referans yahut sınıf ismi üzerinden erişmekten ziyade alternatif bir şekilde programatik olarak erişebilmek için ilgili tipin üzerinde belli adımlarla çalışma gerçekleştirmemiz gerekmektedir. İşte bu adımların kaynağını bizlere...

3

C#’ta “Koruma Düzeyi Nedeniyle xxx Erişilebilir Değil. Yalnızca Ortak Türler İşlenebilir” Hatası ve Çözümü

Merhaba, C#’ta kodlama yaparken ansızın aşağıdaki gibi bir hatayla karşılaşabilirsiniz. Koruma Düzeyi Nedeniyle xxx Erişilebilir Değil. Yalnızca Ortak Türler İşlenebilir. Bu olası hatanın temel sebebi algoritmada kullandığınız yapıların erişim belirleyicileriyle alakalıdır. Örneğin, XmlSerializer sınıfıyla...

0

C#’ta XmlSerializer Sınıfında Generic Extension Metodlar İle Serialization yahut Deserialization

Merhaba, Bir önceki C#’ta XmlSerializer Sınıfı İle Serialization ve Deserialization başlıklı yazımda XmlSerializer sınıfı ile serileştirme ve paralelleştirme işlemlerini irdelemiştik. Şimdi ise bu sınıfı Extension metod olarak Generic yapıda kullanmayı göreceğiz. Aşağıda inşa edilmiş...

1

C#’ta XmlSerializer Sınıfı İle Serialization ve Deserialization

Merhaba, Bu yazımızda C#’ta XmlSerializer sınıfını ile Serialization(serileştirme) ve Deserialization(seriden paralele çevirme) işlemlerini inceleyeceğiz. Tabi öncelikle bu terimlerin ne olduğunu, ne yapınca bu terminolojiyle nitelendirildiğini açmak lazım. Program ortamında veri yapısı olarak nitelendirdiğimiz herhangi...

9

C#’ta volatile Anahtar Sözcüğü

Merhaba, C# dili, yapısal olarak diğer diller gibi bir gramere ve bu gramer çerçevesinde inşa edilebilir yapılara ve bu yapıları oluşturmamızı sağlayan temel yapı birimleri diye nitelendireceğimiz kodlara sahip geniş ve hatta derya deniz...

0

Roslyn CSharpSyntaxWalker İle Syntax Tree Çalışması

Merhaba, Önceki yazılarımdan Roslyn Syntax Tree API’sine Göz Atalım başlıklı yazımda SyntaxTree sınıfı ile Syntax Tree üzerinde gezinmiştik. Bu içeriğimizde ise CSharpSyntaxWalker abstract sınıfını kullanarak aynı işlemleri gerçekleştiriyor olacağız. Öncelikle aşağıdaki NuGet paketini projenize...

10

C# İle Multi Thread Programlamada System.Threading.Thread Sınıfı

Merhaba, Multi Thread Programlama Yazı Dizisinin artık programatik kısmına gelmiş bulunmaktayız. .NET platformunda yapılacak olan tüm Multi Thread programlama işlemlerini System.Threading.Thread sınıfı ile gerçekleştirmekteyiz. Haliyle bu içeriğimizde bu sınıfı a’dan z’ye inceleyeceğiz. Thread Yaratılması Thread...

1

Multi Thread Çalışmanın Avantaj ve Dezavantajları

Merhaba, Önceki C# İle Multi Thread Programlamada “Thread” Kavramı başlıklı yazımızda detaylı Thread kavramını ele almıştık. Bu yazımızda ise Multi Thread çalışmanın avantaj ve dezavantajlarına değineceğiz. Şuana kadar Multi Thread hakkında bildiklerimizi toparlarsak; Multi Thread çalışmanın...

2

C# İle Multi Thread Programlamada “Thread” Kavramı

Merhaba, Önceki C# İle Multi Thread Programlama Temelleri başlıklı yazımda Multi Thread Programlamaya giriş yapmıştık. Şimdi ise Thread kavramını ele alacağız. Önceki yazımızı incelerseniz eğer bir program CPU tarafından process olarak ele alınmakta ve çalıştırılmaktadır. Halbuki...

2

C# İle Multi Thread Programlama Temelleri

Merhaba, Uzun zamandır farklı türevlerde asenkron mimari üzerine çalışmalar gerçekleştirmekteyim. Siz değerli okuyucularımızdan gelen bir çok istek üzerine bu konulara detaylı bir girizgah yapmak istedim. Öncelikle Multi Thread Programlamanın temellerini bu içeriğimizde oluşturacak, zamanla diğer...

0

C#’ta Anonymous Type

Merhaba, Şuana kadar birçok makalemde örneklendirmelerde kullandığım yahut üzerine üç beş satır kalem oynattığım bir yapı olan Anonymous Type hakkında daha detaylı bir içerik oluşturacağız. Biliyoruz ki, sınıflarımız belirli organize veriler üzerine kurgulanan bir...

1

C# TimeSpan İle Süre Formatlama

Merhaba, Bu içeriğimizde sizlere C#’ta DateTime yapısından farklı olan ve elimizdeki bir değere göre süre tutmamızı sağlayan TimeSpan tipinden bahsedeceğim. TimeSpan, DateTime gibi struct(yapı) olarak tasarlanmış bir süre temsil eden değişkendir. Yukarıdaki örnek kod...

10

C# – SqlDependency İle Query Notification

Merhaba, Üzerinde çalıştığımız projenin veritabanı kısmında neler olup bittiğini çalışma zamanında takip etmek istiyorsanız ve bu işlemi asenkron yapıya el sürmeden gerçekleştirmek istiyorsanız eğer işte bu içeriğimizde tamda bu konu üzerine konuşacağız. Herhangi bir...

5

C#’ta Struct Yapıları ve Kullanım Durumları

Merhaba, Programlama dillerinde en mühim OOP(Object Oriented Programing) yapılarından olan class yapısına göre daha basit düzeyde işlemler gerçekleştirmemizi sağlayan ve belirli bir takım kısıtlamaları yanında barındıran struct yapısını C# diline özel ele alacağız. Şimdi...

10

C#’ta sealed Keyword’ü

Merhaba, Programlama dünyasında üzerinde çalıştığımız dilin gramer estetiği ve esnekliği yanında o dilin niteleyicileride(modifier) oldukça önemlidir. Nihayetinde modifier dediğimiz yapılar genelde tek bir komut olmasıyla beraber tek bir işlem gerçekleştirmeleriyle bilinirler. Halbuki o dili...

32

C#’ta async – await İkilisiyle ASenkron İşlemler

Merhaba Asenkron mimari dendiği vakit benim aklıma Delegate(Delege) yapıları ve BeginInvoke metodları gelmektedir. Bunların dışında Asenkron işlemler için bir çok Thread yapısıyla beraber async ve await ikilisiylede asenkron çalışmalar gerçekleştirebiliriz. İşte bu içeriğimizde async...

0

Visual Studio Interactive Window

Yeni öğrendiği bilgiyi pekiştirmeden bilgi arşivine atan yazılımcı gördünüz mü? Ben eminim ki, Çin’deki bir yazılım geliştirici ile İngiltere’deki iki meslektaşın yaşam süreçlerinde kesişen sancılarından birisi bu sanatı icra etmek için öğrenileni mecbur pekiştirme...

5

C#’ta Lock Anahtar Sözcüğü

Merhaba, Eğer birden fazla Thread üzerinde işlem gerçekleştiriyorsanız ve bu işlemler kümesinde belirli kod alanlarında tek Thread olarak işlev yapacaksanız Lock keywordünü kullanabilirsiniz. Anlayacağınız elinizde çoklu Thread akışındaki bir işlev kesitini tek kanala indirgeyerek...

0

C#’ta default Operatörü

Merhaba, Bildiğiniz gibi her değer ve referans tipin bir varsayılan değeri vardır. C#’ta ki default operatörü bu tiplerin varsayılan değerlerini bizlere geri dönmektedir. default operatörü özellikle Generic Class’larda oldukça işimize yaramaktadır. Gördüğünüz gibi parametre...

2

DataGridView’e Kolon Eklerken Alınan InvalidOperationException Hatası ve Çözümü

Bir dersimde DataGridView nesnesinde programatik olarak kolon eklemeyi ele alırken aşağıdaki hatayla karşılaştım. An unhandled exception of type ‘System.InvalidOperationException’ occurred in System.Windows.Forms.dll Additional information: CellType özelliği null olduğundan sütun eklenemiyor. Hatamızın görsel hali; Hatamıza...

Roslyn Syntax Tree API'sine Göz Atalım 1

Roslyn Syntax Tree API’sine Göz Atalım

Merhaba, Bu makalemizde .NET Framework Compiler’ının derinlerine ulaşmamızı sağlayan Roslyn yapısındaki Syntax Tree API’sine değineceğiz. .NET çatısı altında hangi dilde olursa olsun yazdığımız kodlar öncelikle derleyici tarafından ayrıştırılır(parse) ardından bu işlem neticesinde Syntax Tree(Sözdizimi...

6

C#’ta Öznitelik(Attribute) Oluşturma

Merhaba, Teee ne zamanlar MVC Attribute Oluşturma başlıklı yazımda Asp.NET MVC mimarisine özel Attribute oluşturma konusunu ele almıştım. Şimdi ise C# ile özel öznitelik(Attribute) oluşturmayı inceleyeceğiz. Attribute yapıları aslında arka planda bir class tanımlamalarıdır....

Ninject 0

Dependency Injection(DI) – Ninject

Merhaba, Önceki yazılarımdan Dependency Injection(DI) Nedir? Nasıl Uygulanır? başlıklı yazımda Dependency Injection desenine detaylıca değinmiştik. Bu yazımızda ise bu desene uygun tasarlanmış Inversion of Control(IoC) Framework’ü olan Ninject üzerine konuşacağız. Biliyoruz ki, uygulama içerisinde...

0

C#’ta INotifyPropertyChanged Interface’inin Kullanımı

Merhaba, Oluşturduğunuz herhangi bir sınıfta; propertylerin değer değişikliklerinde veya metodların algoritmalarında olay yaratmamızı sağlayacak olan INotifyPropertyChanged Interface’ini tanıtacağım. Yazımızı kısa tutmak için hemen mevzuya giriş yapıyorum. INotifyPropertyChanged Interface’ini kullanabilmeniz için öncelikle System.ComponentModel kütüphanesini kod...

0

C# 6.0 nameof Expressions

Merhaba, Kod yazarken class tiplerini yahut metod, property veya field isimlerini string olarak ifade etmemiz gereken noktalar olabilir. İşte böyle durumlar için geliştirilmiş olan C# 6.0 ile gelen nameof keywordüne değineceğiz. Örnek olarak ArgumentNullException...

0

C# 6.0 Null Conditional Operators (?.)

C# 6.0’da gelen ve null kontrol algoritmasını çok kısa bir şekilde yazmamıza olanak sağlayan, tek başına çok anlamlı durmamasına rağmen, iç içe geçmiş nesneleri yahut propertyleri çağırırken sürekli null kontrolü yapmaktan kurtaran şahane yeniliklerden...

0

C# 6.0 Dictionary Initializers

C# 3.0 versiyonu ile Dictionary gibi key – value yapısında çalışan koleksiyonlar için aşağıdaki gibi kullanıma gelen yapı C# 6.0 versiyonunda indexer tarzında işlenebilmektedir. Eski sürüm. Yeni sürüm. Gördüğünüz gibi, key – value pair...

3

C#’ta is ve as Operatörleri

Merhaba, Programlama dilinde bir çok yapı, kendisi haricinde diğer yapılarla organize halde çalışabilmesine yahut algoritmik olarak eşlik edebilmesine dikkat edilerek dizayn edilmektedir. Bu yazımızda kendi başlarına bir işlem icra ederken, birlikte bir bütünü ifade...

6

C#’ta IComparable Interface’i İle Nesneleri Sıralama

Merhaba, Bu içeriğimizde, kendisini uygulayan sınıfta kendi tipindeki nesnelere karşı nasıl bir karşılaştırma yapılacağını belirlemek için kullanılan IComparable Interface’ine değineceğiz. IComparable Interface’i, miras alan sınıfa CompareTo metodunu uygulatmakta ve bu metot aracılığıyla karşılaştırmayı sağlamaktadır....

6

LINQ to Entities – LastOrDefault Metodunda NotSupportedException Hatası

Merhaba, LINQ to Entities sorgularından LastOrDefault metodu ile elinizdeki veri kümesinin son elemanını elde etmek istiyor lakin aşağıdaki hatayı alıyorsanız çözümü bu içeriğimizdedir. An unhandled exception of type ‘System.NotSupportedException’ occurred in EntityFramework.SqlServer.dll Additional information: LINQ...

0

C#’da Checked ve UnChecked Komutları

C# programlama dilinde, elimizdeki sayısal verileri birbirlerine cast operatörü ile dönüştürürken, küçük değer aralığına sahip tipte tutulan değişkeni büyük değer aralığına sahip tipte tutulan değişkene dönüştürmeye çalışırsak normal bir işlem gibi algılanacaktır. Lakin tam...

1

C#’ta İsimsiz Metodlar(Anonymous Methods)

Merhaba, C#’ta bir temsilciye(Delegate) metod bağlarken Anaonymous Method yapısını kullanabilir, önceden tanımlanmış bir metoda gereksinim duymadan direkt olarak kod bloğu bağlayabiliriz. Yukarıdaki örnek kod bloğunda da gördüğünüz gibi yaptığımız işlem aslen arka planda bir...

10

C#’ta Iterator Kavramı ve yield Anahtar Sözcüğü

Merhaba, C#’ta türlü türlü komutlar mevcuttur. Bazıları doğal olarak ilk etaplarda fazla kullanım alanını sezdirmeselerde, dile olan aşinalık ilerledikçe mantığını ve varlığını daha net anladığımız keywordlerin değeri artmaktadır. Dilin gramer mantığını aşabilen yahut tam...

9

C# – Quartz.Net Kütüphanesi İle Zamanlanmış Görevler Oluşturma

Merhaba, Masaüstü veya Web projelerinde belirli periyotluk yapılması yahut tetiklenmesi gereken işlemlerin ihtiyacını hissetmişsinizdir. İşte böyle durumlarda prosedürel olarak binbir türlü işlem gerçekleştirebilir, ihtiyacınızı giderebilirsiniz. Tabi birde Quartz.Net kütüphanesini kullanarak daha pratik bir şekilde...

1

C#’ta ICloneable Interface’i İle Nesne Kopyalama

Merhaba, Bu yazımızda C#’ta bir nesneyi kopyalamamıza yarayan ICloneable Interface’ini inceleyeceğiz. Tabi bu Interface’e gelmeden önce uzun uzun bir kaç hususta konuşalım diyorum… C#’ta(ve Java vs. gibi popüler programlama dillerinde) bildiğimiz gibi değişkenler “Değer...