Bu yazımda C#’ta string birleştirme işlemi yaparken oluşabilecek performans problemlerini, .ToString() ile Convert.ToString() methodları arasında ne gibi bir fark olduğunu ve iki string’i karşılaştırırken kullandığımız .Equals() methodu hakkında ufak bir detayı inceleyeceğiz.

“String birleştirme işlemleri neden maliyetli?” sorusunun cevabı aslında stringlerin .NET Framework’teki tanımlanmalarından ileri gelmektedir. String tipi .NET Framework’te immutable (değişmez) olarak tanımlanmıştır. İlk olarak immutable kavramı bilmeyenler ve yeniden hatırlamak isteyenler için nedir, ne değildir inceleyip; yavaş yavaş string işlemlerinin performanslarına doğru yol alalım isterim.

İmmutable (Değişmez) Nedir?

Immutable nesneler bir kez oluşturulduktan sonra içeriği değiştirilemeyen nesnelere verilen bir tanımlamadır. String tipi de immutable tanımlandığı için, stringler üzerinde yapılan birleştirme işleminde her seferinde memory’de yeni bir string oluşturulacak ve geliştirdiğiniz programın performans sorunuyla karşılaşması muhtemel bir hal alacaktır. …


Bu yazımda teknik sohbetlerde ve sorularda yer alan fakat zaman zaman kolayca karıştırılabilen, unutulmaya yüz tutmuş temel bazı kavramları işledim. Derli toplu bir şekilde bir köşede durmasının faydalı olacağını düşünüyorum. Sözü fazla uzatmadan kavramlara geçelim :)

Method İmzası (Method Signature) Nedir?

Method imzası; methodun ismini ve aldığı parametrelerin tipleriyle birlikte sayısını belirten bir kavramdır. Unutulmaması gereken durum, method imzasına dönüş tipinin dahil olmadığıdır.

Örnek:

int Carp(int sayi1, int sayi2);int Carp(int sayi1, int sayi2, int sayi3);

Yukarıdaki ilk Carp methodunun imzası Carp(int,int) şeklindeyken ikinci Carp methodunun imzası Carp(int,int,int) şeklindedir.

Ufak bir not: Method imzası kavramı özellikle Method Overload konusunda karşımıza çıkmaktadır.

Parametre ve Argüman Nedir? Farkları Nelerdir?

Parametre, bir method tanımlanırken methodda input olarak kullanılacak değişkenleri belirttiğimiz kavramdır. …


Credit: https://hikaruzone.wordpress.com/2015/10/06/in-case-of-fire-1-git-commit-2-git-push-3-leave-building/

Versiyon kontrol sistemleri kalabalık ekiplerin, büyük projelerin hatta tek başına yazılım geliştiren yazılımcıların bile olmazsa olmaz bir araç çantası. …

About

Ceyhun Çözvelioğlu

Software Engineer | cozvelioglu.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store