C# Eğitimlerimize String veri tipinin 2. yazısı ile devam ediyoruz.

Bu yazımızda string türü ile işlem yaparken oluşabilecek bazı özel durumlara değinmeye çalışacağım.

String Değişkenleri Birleştirme

C# üzerinde 2 string tür bir biri ile birleştirme işlemi yapılırken + işareti kullanılır. Normal bir toplama işlemi yapıyor gibi gerçekleştirilir.

Bir örnek proje ile bunu anlamaya çalışalım.

Textbox 1 ve Textbox2 üzerinde girilen değerleri alıp birleştirip Label1 üzerinde yazdıracağız.

Kodlarımızı inceleyelim. İki tane string değişken tanımladık öncelikle. Burada öğrendiğimiz yeni bir kavram var. Aynı türden değişkenler yan yana virgül ile ayrılarak tanımlanabilirler. Ayrıca aynı konumda iken bu değişkenlere ilk değer ataması da yapabiliriz.

Daha sonra değişkenlere textboxlardan gelen değerleri atadık.

Son olarakda iki değeri birleştirdik ve label’ın text özelliğine yazdırdık.

Sonucu görelim.

Değeri birleştirdi ve yazdı.

Ama ben bunun böyle olmasını değilde arada bir boşlukla daha düzenli yazmak isteseydim ne yapmam gerekecekti?

Bu sefer boşlukta bir string ifade olduğu için 3 string değeri bir biri ile bağlamış olduk.

Peki textbox değerlerini bir sayı olarak gönderseydim nasıl sonuç alacaktık?

String ifadeler kesinlikle matematiksel işleme tabi tutulamaz girilen sayısal değerleri birer sayı olarak değil karakter seti olarak string bir veri gibi tuttu ve yan yana yazarak birleştirme işlemi uyguladı.

+= Operatörünün Kullanımı

C# da ve daha önceki programlama dillerinde bulunan bir operatör olan += string ifadelerlede kullanılabilmektedir.

Kısaca bahsetmek gerekirse

Burada yapılan işlem şudur. Kelime3 =”Murat”, Kelime4=”Bilginer” olsun.

Kelime3 ün kendi değerini Kelime4 ün değeri ile birleştirir ve bunu en son Kelime3 değişkenine atar.

Yani bu işlem bittikten sonra

Kelime3=”MuratBilginer” değerini tutmaktadır.

Ben sadece label’ın text özelliğine Kelime3 ü yazdırsam istediğim sonucu yine elde etmiş olurum.

Arasında yine bir boşluk koymak isteseydik şunu yapmamız yeterli olacaktı.

Şimdiye kadar gördüğümüz gibi C# da çift tırnak ve tek tırnak C# runner’ı için anlamlı ifadelerdir. Böyle karakterler gördüğünde bir sonraki gelen karakterleri string yada char ifade olarak değerlendirir. Bizim yazacağımız string yada char değerinin içinde çift tırnak yada tek tırnak olmak zorunda olsaydı bu durumda ne yapmamız gerekecekti?

\ (AltGr+Soru İşareti) (Ters Slash) Kaçış Karakterinin Kullanımı

C# için anlamlı olan değerin önüne \ işaretini koyduğumuzda C# onu normal olarak bir tırnak işareti olarak algılayacaktır.

\n Kullanımı

İfadeyi yazdırdı ama burada bir sorunla daha karşı karşıya kaldık. O da C#’ın string ifadeyi kod tarafında bir alt satıra indirmiş olmamıza rağmen bunu algılamayıp uzun bir şekilde tek satırda yazmasıdır. Buradan şunu anlayabiliriz. Kod tarafında gerçekleştirdiğimiz Enter tuşu ile string ifade içinde bir alt satıra geçmemiz normal bir kullanımda C# için hiç bir anlam ifade etmemektedir.

O zaman biz yazdığımız cümleleri hiç alt satıra geçiremeyecek miyiz?

Bir yolu var, oda bir alt satıra geçmemiz gereken yere \n ifadesini koymaktır. Bu newline anlamına gelmektedir. Yeni satıra geçecektir.

İstediğimiz \n olan noktalardan bir alt satıra geçmesini bekliyoruz.

Gördüğümüz gibi bunu da başarılı bir şekilde gerçekleştirmiştir.

@ Karakteri Kullanımı

Bu anlattığım yöntem 2 satır bir cümle için çokta bir sorun teşkil etmiyor. Ama biz binlerce satırlık bir string gireceksek ve belli başlı noktalarda da alt satıra geçmek isteseydik. 1000 tane \n’mi koymamız gerekecekti?

Bunu da @ karakteri ile çözmüşler.

Bu ifadeyi koyduğunuz bir string içinde tüm anlamlı ifadeler string değerin bir parçası olarak görülecektir. Burada tek handikapımız tırnak içine almamız gereken noktaları bu kullanım şekliyle tek bir string değişken içinde tırnaklar içine alıp gösteremememizdir. Bunun için birleştirme işlemleri ile bu durumu kolayca aşabiliriz.

@ ifadesini string değerine başına yazdıktan sonra kod içinde yazarken enter tuşu ile alt satıra geçmelerimi kullanıcı ekranında da aynen görebileceğiz.

Bu yazımızda böylelikle sonuna geldik. Bir sonraki eğitim yazımda görüşmek üzere.