C# Hazır Metotlar

Programlama dili kütüphaneleri içerisinde önceden tanımlanmış ve programcıların işlerini kolaylaştıran bir takım hazır metotlar vardır.
Metinsel (String) Metotları Programlama dili içerisindeki String sınıfı altında bulunan ve metinsel (String) ifadelerle ilgili bir takım işlemleri daha kolay yapabilmek için bir takım hazır metotlar vardır. Metinsel metotlardan sık kullanılanlar şunlardır;

  • String sınıfı ile çağırılan metotlar;

Compare, Concat, Copy, Format, IsNullOrEmpty

  •  String ifade ile birlikte çağrılan metotlar;

CompareTo, Contains, CopyTo, EndsWith, IndexOf, Insert, LastIndexOf, PadLeft, PadRight, Remove, Replace, Split, StartsWith, Substring, ToLower, ToUpper

Bunları tek tek inceleyelim.

Compare()

Parametre olarak verilen iki string ifadeyi karşılaştırır ve geriye int türünde bir veri döndürür. Eğer dönüş değeri sıfır (0) ise iki metin birbirine eşittir. Eğer değilse parametre olarak verilen metinleri ilk harflerinden itibaren tek tek karşılaştırır ve farklılığın olduğu ilk harflerin alfabedeki sıralarına göre -1 veya 1 sayı değerlerini döndürür.

[csharp]int donusDegeri=String.Compare(metin1,metin2);[/csharp]

Örnek:

[csharp]Console.Write(“1. metni giriniz: “);
string metin1 = Console.ReadLine();
Console.Write(“2. metni giriniz: “);
string metin2 = Console.ReadLine();
int donusDegeri = String.Compare(metin1, metin2);[/csharp]

Not: Eğer metin karşılaştırmalarında büyük/küçük harfe dikkat edilsin istemiyorsak

Compare() metodunun bir başka kullanımı olan Compare(metin1,metin2,boolean) formunu kullanmamız gerekir.

[csharp]bool buyukKucuk=true;
int donusDegeri=String.Compare(metin1,metin2,buyukKucuk);[/csharp]

Burada bool türündeki değişkenin değeri true ise Compare() metodu büyük/küçük harfe bakmasızın iki kelimeyi karşılaştırır. Eğer false değeri gönderilirse, bu durumda karşılaştırma işlemini büyük/küçük harfe biçimde gerçekleştirir.

Concat()

Parametre olarak verilen nesneleri string türünde birbirine peşi sıra ekler ve geriye

string türünde bir değer döndüren String metodudur.
 Kullanımı:

string donenMetin=String.Concat(parametre-listesi);

Örnek 2: Klavyeden girilen iki metni birleştiren programın kodlarını yazınız.

[csharp]
Console.Write(“1. metni giriniz: “);
string metin1 = Console.ReadLine();
Console.Write(“2. metni giriniz: “);
string metin2 = Console.ReadLine();
string birlestirilen = String.Concat(metin1, metin2);
Console.WriteLine(“{0} ve {1} kelimelerinin birleştirilmiş hali: {2}”,metin1,metin2,birlestirilen);[/csharp]

String.Concat() ile farklı türlerdeki verileri de birleştirme şansımız vardır. Aşağıdaki
örnekte hem metin, hem sayı, hem de boolean türündeki verileri birleştirip, geriye string türünde bir veri elde etme işlemini inceleyeceğiz.

[csharp]string metin = “Kütahya”;
int sayi = 43; bool durum = false;
string birlestirilen = String.Concat(metin, sayi, durum);
Console.WriteLine(“{0} ve {1} {2}’nin birleştirilmiş hali: {3}”, metin, sayi,durum,birlestirilen);[/csharp]

Çıktısı:
Kütahya ve 43 False’nin birleştirilmiş hali: Kütahya43False

Copy()

Parametre olarak verilen string türündeki metnin bir kopyasını almaya yarayan String metodudur.

[csharp]string kopyaMetin=String.Copy(metin);
string metin = “Techno Program”;
string kopyaMetin=String.Copy(metin);
Console.WriteLine(“{0} metninin kopyası :{1}”, metin,kopyaMetin );[/csharp]

Çıktısı:
Techno Program metninin kopyası :Techno Program

Format()

Program yazarken bazı metinleri, ifadeleri belli bir biçimde yazmamız, düzenlememiz gerekir. Bunu yapabilmek için String.Format metodu kullanılır. Metot geriye string tipinde değer döndürür. Örneğin bir metinin ekranda belli bir biçimde gözükmesini istiyorsak Şunu kullanacağız:

String.Format(“{0,5}”,metin);

Bu metot da köşeli parentez içerisinde ki ilk değer değişkeni göstermektedir. İkinci değer ise değişkenin ekranda kaç karakterlik bir alan kaplayacağını belirler. Bu değer pozitif ise değişkenin ekrana sağa hizalı olacağını, eğer negatif ise sola hizalı olacağını belirler.

Örnek:

[csharp]Console.WriteLine(String.Format(“{0,9} | {1,15} “,”C#”,”Programlama”) );
Console.WriteLine(String.Format(“{0,10}| {1,20}”,”technoprogram”,”.com”));
Console.ReadKey();[/csharp]

IsNullOrEmpty()

Parametre olarak verilen string türündeki değişkenin içeriğinin boş mu olduğunu kontrol eden metottur. Eğer değişkenin içeriği boşsa geriye bool türünde true değeri döndürür. Eğer değişkene herhangi bir değer ataması yapılmışsa geriye false değerini döndürür.

[csharp]string metin=””;
bool sonuc=String.IsNullOrEmpty(metin);[/csharp]

Örnek:

[csharp]Console.Write(“adı girin :”);
string metin = Console.ReadLine();
bool sonuc = String.IsNullOrEmpty(metin);
Console.WriteLine(sonuc);
if (sonuc == true)
{
Console.WriteLine(“boş giriş”); }
else
{
Console.WriteLine(“girdiğiniz değer : “+ metin);
}
Console.ReadKey();[/csharp]

CompareTo()
String.Compare metodu iki metni karşılaştırıp metinlerin aynı ve farklı metin olduğunu bulan metotdur.Geri int tipinde bir değer döndürür.Eğer değer 1 veya -1 ise metinler birbirlerinden farklıdır.Şayet geri dönen değer 0 ise metinler aynıdır. Kullanımı şu şekildedir;

[csharp]int deger=String.Compare(metin1,metin2);[/csharp]

Örnek:

[csharp]string metin1,metin2;
int dönüs;
Console.WriteLine(“1.Metni Giriniz: “);
metin1=Console.ReadLine();
Console.WriteLine(“2.Metni Giriniz:”);
metin2=Console.ReadLine();
dönüs=String.Compare(metin1,metin2);
if((dönüs==1)&&(dönüs==-1)
{
Console.WriteLine(“Metinler Farklıdır”);
}
else
{
Console.WriteLine(“Metinler Aynıdır”);
}
Console.ReadKey(); [/csharp]

Contains()

Bir string içerisinde arama yapmamızı sağlar. Geri dönüş değeri bool tipindedir. Yani aranan string’ de varsa true yoksa false geri döndürecektir.

[csharp]string aranan= “”;
bool donusDegeri=metin1.CompareTo(aranan); [/csharp]

Örnek:

[csharp]string cumle = “Techno Program”;
bool kontrol = cumle.Contains(“Program”); // kontrol değişkeni true olur [/csharp]

StartsWith() ve EndsWith()
Bir string’in ne ile bittiğini/başladığını bulmak için kullanılır. Örnek olarak gelen Url nin “.com/.net” mi olduğunu bulmak istiyoruz. Bool bir değer döndürür. Dizi içerisindesmi “Mahmut” ile başlayan kişileri bulmanız gerekebilir, ya da öğrenci numarası, örneğin benim okul numaram 070535… diye başlıyor, 07 girişlileri bulmak için kullanabilirsiniz.

[csharp]metin.EndsWith(ifade);[/csharp]

Örnek:

[csharp]String url= “www.technoprogram.com” ;
if (url.EndsWith(“.com”))
{
MessageBox.Show(“Evet”);
}
if (url.StartsWith(“www.”))
{
MessageBox.Show(“Evet”);
}[/csharp]

Indexof()

String içerisinde aradığımız string in kaçıncı karakter(index) olduğunuzu bize int olarak verir, eğer bulamazsa -1 verir. 9 farklı kullanımı bulunmaktadır ben 2 tanesine yer vereceğim.

[csharp]int indeks=metin.IndexOf(char);[/csharp]

Örnek:

[csharp]string Adim = “Türkiye”;
int uKacinci = Adim.IndexOf(‘ü’); // Burada tek tırnak içerisinde yazıyoruz yani char türünde. Çıktı:1
int uKacinci = Adim.IndexOf(“y”); // Burada çifttırnak içerisinde yazıyoruz yani string türünde.Çıktı:5[/csharp]

Insert()

Insert metodu dizi içerisinde araya değer eklemek için kullanılır ve 2 parametre alır. Birimci parametre olarak verilen indeks numarasına , ikinci parametre olarak verilen değer eklenir. Eklenen değer öncesinde mutlaka bir değer bulunmalıdır aksi durumda hata ile karşılaşılır.

[csharp]string yeniMetin=metin.Insert(int baslangic, string eklenecek);[/csharp]

Örnek:

[csharp]string cumle=”Ahmet Techno Program “;
Console.WriteLine(cumle.Insert(5, ” Şenlik”)); //5. karakterden sonra Şenlik kelimesini ekle
Console.ReadLine();[/csharp]

 

LastIndexOf()

IndexOf metodu ile aynı işlevi yapar. Sadece bu metot baştan değil de sondan kaçıncı karakterde olduğunu belirtir.

[csharp]int indeks=metin.LastIndexOf(string);[/csharp]

Örnek:

[csharp]
string str = “Ahmet Şenlik”;
string ara=”Ahmet”;
int index = str.LastIndexOf(ara);
Console.WriteLine(” “+index);
Console.ReadLine();[/csharp]

Remove()

String içerisinde belli bir index ten başlayarak çıkarma işlemi yapar kısaca.

[csharp]metin.Remove(4); = 4. indexten itibaren sil.
metin.Remove(2,3); = 2. indexten itibaren 4 karakter sil.
metin.Replace(‘bu değerleri’,’buna cevir’);[/csharp]

Bu metod iki parametre almaktadır.Birincisine değiştirilmek istenen karakter,ikincisine yerine getirilecek karakterdir.

Replace()

Birlikte çağrıldığı metinin içerisinde istenilen karakteri başka bir karakterle değiştirmeye yarar. Değiştirme işlemi bittiğinde geriye string tipinde bir değer döndürür.

[csharp]string yeniMetin=metin.Replace(char eski,char yeni);[/csharp]

Örnek:

[csharp]string metin = “Techno Program”;
metin = metin.Replace(“C#”, ” “);
Console.WriteLine(metin);
Console.ReadLine();[/csharp]

Split()

Bu sözdizimi Split metodunun en sade halidir. Burada ayirici, ilgili metnin hangi ayraç ile bölüneceğini ifade eder. Split metodunun geri dönüş değeri string tipinde bir dizidir. Bu string dizisi içine ayraç dahil edilmeden ayraç ile ayrılan kelimeler eklenir.

[csharp]string[] dizi=metin.Split(char karakter);[/csharp]

Örnek:

[csharp]string metin = “Bilişim Teknolojileri”;
Console.WriteLine(“Boşluktan bölünürse”);
foreach(string harf in metin.Split(‘ ‘)) Console.WriteLine(harf);
Console.WriteLine(” “);
Console.WriteLine(“i harflerinden bölünürse”);
foreach (string harf in metin.Split(‘i’)) Console.WriteLine(harf);[/csharp]

Substring()

Birlikte çağrıldığı metni parametre olarak verilen indeks değerinden itibaren keser ve arta kalan metni geriye string türünde döndüren metottur.Bu metodun 2 kullanımı bulunmaktadır.

1.Kullanım

[csharp]string yeniMetin=metin.Substring(int indeks);[/csharp]

Örnek:

[csharp]string metin = “Techno Program”;
Console.WriteLine(metin.Substring(3)); //hno Program
Console.WriteLine(metin.Substring(7)); //Program
Console.WriteLine(metin.Substring(11)); //ram[/csharp]

2.Kullanım

[csharp]string yeniMetin=metin.Substring(int indeks,int uzunluk);[/csharp]

Örnek:

[csharp]string metin = “Techno Program”;
Console.WriteLine(metin.Substring(2, 4)); //chno
Console.WriteLine(metin.Substring(8,3)); //rog
Console.WriteLine(metin.Substring(11,1)); //r
Console.ReadKey();[/csharp]

ToLower() ve ToUpper()

Programlarımızda bazen girilen metinin harflerini küçük yada büyük yapmak isteriz. Bunun için ToLower-ToUpper metotlarını kullanırız.
ToLower: Belirtilen metinin bütün harflerini küçük harfe dönüştürür.
ToUpper: Belirtilen metinin bütün harflerini büyük harfe dönüştürür.

[csharp]string yeniMetin=metin.ToLower();[/csharp]

[csharp]string yeniMetin=metin.ToUpper();[/csharp]

Örnek:

[csharp]Console.WriteLine(“Bir Metin Giriniz:”);
string metin:Console.ReadLine();
Console.WriteLine(“Küçük harfe çevrilmiş hali = {0}”,metin.ToLower());
Console.WriteLine(“Büyük harfe çevrilmiş hali= {0}”,metin.ToUpper());
Console.ReadKey();[/csharp]

 

Kaynak: Megep Modülleri

Ahmet Şenlik

Kocaeli Üniversitesinde Bilgisayar Programcılığı okudum DGS ile 2016 yılında Sakarya Üniversitesi Bilgisayar mühendisliğini kazandım. Yazılımla uğraşmayı çok seviyorum bu alanda kendimi daha da geliştirmeyi düşünüyorum. Eğer siz de seviyorsanız bu işi devam edin başlamadıysanız başlayın başaracağınıza inanın. :)

You may also like...

2 Responses

  1. Özgür özkan dedi ki:

    int SözcükSayısı(string cümle)
    {
    //…
    //return ?
    }
    Kendisine gönderilen cümlede kaç adet sözcük bulunduğunu bulup geri döndüren metot bu sorunun kod hali ne acaba

    • Ahmet Şenlik dedi ki:

      Split metoduyla bu işlemi yapabilirsin cümleyi alıp ” ” her boşluğu saydırırsın. Kaç boşluk varsa onun 1 fazlası kadar kadar kelime vardır.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.