PDF -About The Tutorial - kciti college - C Sharp Programlama Dili
Wait Loading...


PDF :1 PDF :2 PDF :3 PDF :4 PDF :5 PDF :6 PDF :7 PDF :8 PDF :9 PDF :10


Like and share and download

C Sharp Programlama Dili

About The Tutorial - kciti college

ilkerunal wp content uploads 2012 01 Bölüm 2 pdf Programlama dillerinde tek başlarına herhangi bir anlamı olmayan ancak programın işleyişine katkıda bulunan karakter ya da karakter topluluklarına operatör denir Örneğin a+b ifadesinde + işareti bir operatördür Operatörlerin etki ettikleri sabit ya da değişkenlere ise operand denir

Related PDF

C# Programlama Dili - ilkerunalcom

ilkerunal wp content uploads 2012 01 Bölüm 2 pdf Programlama dillerinde tek başlarına herhangi bir anlamı olmayan ancak programın işleyişine katkıda bulunan karakter ya da karakter topluluklarına operatör denir Örneğin a+b ifadesinde + işareti bir operatördür Operatörlerin etki ettikleri sabit ya da değişkenlere ise operand denir
PDF

Hedefler - Yazılım, Programlama, İnternet Güvenliği

tdsoftware files wordpress 2010 10 bilgeadam 1959 yılında, bu programlama dilinin özelliklerini alıp, giriş çıkış (Input – Output IO) gibi yeni işlevler sağlayan COBOL dili ortaya çıktı Daha sonra 1968 yılında, COBOL ve FORTRAN dillerinin en iyi özelliklerini alarak Pascal ortaya çıktı Ayrıca Pascal dili, hafızadaki adresler üzerinde işlem yapmaya olanak
PDF

Sıfırdan başlayarak algoritma ve programlama öğrenme

sifirdanprogramlama files wordpress 2011 07 programlamayı öğretirken bir dili kullanarak öğretirler Örneğin C ile programlama, Java ile programlama Programlama ayrı bir ifadedir, ve programlama bir dili kullanarak mümkün olmaz! Size bu durumu anlattıktan sonra birde örnekle pekiştireyim Bir sürücü kursuna 10
PDF

F# İLE FONKSİYONEL PROGRAMLAMA - aliozgurnet

aliozgur media fsharp fonksiyonel preview pdf Bu önemli programlama yöntemini Microsoft'un sunduğu güçlü NET ortamında kullanmak için en uygun dil ise elbette F# dilidir Sarsılmaz matematiksel temellere dayanan ve 1970lerde geliştirilmiş ML (Meta Language) dilinin günümüzdeki mirasçısı F# dili, 12 yıldır geliştirilmekte olup, Microsoft'un standart kabul ettiği ve tam
PDF

C#’a Başlangıç Kitabı - KODLEON

kodleon wp content uploads 2017 08 CSharp E Daha önce herhangi bir programlama dili ile az çok kod yazdıysanız “off şimdi bu C#’ı kim öğrenecek, Microsoft firması bu programlama dilini keşke hazırlamasaydı, bir sürü Class, yeni bir dil” diyorsanız bu düşüncenizden sizi uzaklaştırmaya yüz binlerce kişiye programcılık öğretmiş Memik YANIK olarak talibim
PDF

BİLİŞİM TEKNOLOJİLERİ - bilisimdelisifileswordpresscom

bilisimdelisi files wordpress 2012 04 C, C++(C Plus) , C#(C Sharp) Orta seviyeli diller daha az kayıpla makine diline çevrilebildiğinden daha hızlıçalışır Alçak seviyeli programlama dilleri Sembolik makine dili (Assembler) Makine dili En aşağıseviyeli programlama dilidir (Saf makine dili tamamen 1 ve 0 lardan oluşuyor )
PDF

Adım Adım Microsoft Visual C# 2008 - kitabxananet

kitabxana files books file 1373788520 pdf Adım Adım Microsoft ® Visual C# ® 2008 John Sharp Çeviri Ümit Tezcan
PDF

Levent SEÇKİN

leventseckin cv LeventSeckinCV pdf o Basic 1 1 ile 8 yaımda balayan programlama hayatı o C, C# ve C++ programlama bilgisi Java programlama dili bilgisi ve JME denemeleri Java User Interface deneyimleri o Bash bilgisi ve Batch benzeri shell script programlayabilme o Assembly bilgisi ve bilgisayar yapısı bilgisi
PDF

Her Yönüyle ilk C# Programımız - TD Software

tdsoftware files wordpress 2011 12 csharp C ve C++ dillerine kısa bir bakış C dili en popüler yapısal programlama dilidir C dili Dennis Ritchie tarafından, Martin Richards ve Ken Thompson tarafından geliştirilen BCBL ve B dillerinin temelleri üzerine kuruldu C dili "The C Programming Language by Brian Kernighan and Dennis Ritchie" kitabıyla
PDF

About The Tutorial - kciti college


PDF

C# (sharp) tutorial - create a flappy bird game using c#

toyota service manuals pdf workshop manuals spare parts

mooict wp content uploads 2016 02 Creating a Flappy Bird game in Visual Studio Using C# First Create a new Windows Form Application in Visual Studio Name it FlappyBird and Click OK We need to add the necessary elements to the windows form

C-Sharp_Tehnike_vizuelnog_programiranja.pdf

Tehnike vizuelnog programiranjaprogramiranja

C++ Solutions

C++ Programming 5th Edition Ds Malik Solution Manual Pdf

ciens ucv ve algoritmosyprogramacion documentos A C++ program is a set of instructions of the C++ programming language that can be interpreted by a computer into a sequence of basic operations that the computer can perform Axiom cs ccny cuny edu ~wes CSC103 docs practiceproblems pdf

c Subestaciones

Evolución de las subestaciones

PDF subestaciones eléctricas subestaciones eléctricas Mercado Ideal mercado ideal SELMEC 20SUBESTACIONES 20ELECTRICAS pdf PDF Sistema Eléctrico de Potencia ptolomeo unam mx ptolomeo unam mx 8080 xmlui bitstream handle A4 pdf PDF An´alisis de Confiabilidad

C T Chen - Linear System Theory and Design.pdf

Linear System Theory Design Chen All Solution

PDF Linear Systems Theory and Design ebadi profcms um ac ir chen 20c 20 t 20linear 20system 20theory 20and 20design pdf PDF Linear System Theory Ct Chen Technetix en us technetix linear system theory ct chen pdf

  1. ct chen linear system theory and design pdf
  2. linear system theory ppt
  3. ct chen linear system theory and design solution manual
  4. linear system theory pdf
  5. linear system theory and design 2nd edition
  6. linear system theory and design fourth edition
  7. chi-tsong chen
  8. solutions manual to linear systems theory

C TADM56 74 Sample Questions

C TADM70 74 - Blog - SAPSPOT

cdn training sap uploads C TADM56 74 Sample SAP EDUCATION SAMPLE QUESTIONS C TADM56 74 SAP Certified Technology Associate System Administration (DB2 LUW) with SAP NetWeaver 7 4 Disclaimer These sample questions are for self evaluation purposes only and do not appear on the actual

C_TAW12_70

Untitled

PDF Exam4PDF pdf exam4 pdf C TAW12 70 pdf PDF C TAW12 70 SAP Certified Development SAP Certificationsapcertifications ol edu pdf C TAW12 70 pdf PDF SAP Exam Code

C_TAW12_740

Fichier des formations éligibles au CPF retenues par la CPNE de la

ERPPREP COM's C TAW12 740 PDF is a comprehensive compilation of questions and answers that have been developed by our team of SAP ABAP experts  Classical User Interfaces 8 12 Build ABAP reports with selection screens, either displaying data in a classic list or

  1. C_TAW12_740
  2. ERPPREP.COM's C_TAW12_740 PDF
  3. C_TAW12_740 – SAP
  4. for C_TAW12_740
  5. SAP consultant certification C_TAW12_740 which
  6. terzertifizierung C_TAW12_740 vor
  7. C_TAW12_740 exam guide to crack ABAP with SAP

c. Teike - Alte Kameraden - Vieux Camerades - Mach - 1933 - Sheet Music

Noten Musikgesellschaft Mett-Madretsch Fehlende Noten

PDF 1 Under The Double Eagle Oboe & Piano 3 6 Amazon S3 s3 eu central 1 amazonaws shop EMR39860 pdf PDF Archiv Harmonie Salgesch harmoniesalgesch ch harmonie Archiv pdf PDF TITRE 1812 1 2 15

Home back Next

Programlama Dili

Description

C Sharp Programlama Dili/C Sharp hakkında temel bilgiler Vikikitap,

özgür kütüphane < C Sharp Programlama Dili

C# (si şarp diye okunur) Microsoft tarafından geliştirilmiş olan bir programlama dilidir

C++ ve Java dillerine oldukça benzer,

ancak C#'ın bu dillere benzerliği yanında farkları da vardır

Örneğin C#,

C++'dan farklı olarak % 100 nesne yönelim tekniğine sahiptir

Java'dan farklı olarak ise C#'ta gösterici (pointer) kullanılabilir

Böylelikle eski yazılım bileşenleriyle uyumlu bir şekilde çalışılabilir

Framework

C# kodları,

C++ veya Visual Basic'ten farklı olarak direkt makine koduna derlenmez

Önce IL dediğimiz bir ara koda derlenir

Bu derlenen ilk kodun dosyasına assembly denir ve uzantısı exe'dir

Bu dosya çalıştırılmak istendiğinde ise

Net Framework devreye girer ve IL kodu makine koduna dönüştürür,

(alttaki şekle bakınız) böylelikle artık kodu bilgisayar anlayabilir

İşte bu yüzden de yazdığımız programın bir bilgisayarda çalışması için o bilgisayarda

Net Framework programının kurulu olması gerekir,

çünkü

Net Framework IL kodu bilgisayarın anlayabileceği koda çevirir

Net Framework,

oluşturduğu makine kodlarını geçici bir süreliğine belleğe koyar,

eğer aynı kodlar tekrar çalıştırılmak istenirse tekrar IL koddan makine koduna dönüşüm yapmak yerine bu belleğe kaydettiği makine kodlarını kullanır

Bu yüzden oluşturduğumuz programımızı ilk çalıştırdığımız zaman programımız biraz yavaş çalışabilir,

ancak daha sonraki çalışmalarda oldukça hızlanacaktır

C#'ta kodun direkt makine kodu yerine,

önce IL koda çevrilmesinin bazı avantajları vardır

Bunlardan en önemlisi programımızın farklı işletim sistemlerinde çalışmasının eskiye oranla çok daha kolay olmasıdır

Çünkü makine kodu taşınabilir değildir,

programları direkt makine koduna derlediğimiz zaman ilgili programın belirli bir işletim sistemine göre derlenmesi gerekir

Halbuki IL kod taşınabilirdir,

işletim sistemlerindeki çeşitli programlar vasıtasıyla makine koduna dönüştürülebilir

Örneğin Windows'ta bu işi

Net Framework yaparken,

Linux'ta Mono yapabilir

Bu kitap C#'ı Windows üzerinden anlatacaktır

Ancak kitabın Linux'ta C# kullanımı kısmında ayrıca Linux'ta C# ile program geliştirme de anlatılacaktır

Son bir-iki bölüm dışındaki bütün kodları Not Defteri'nde (notepad) yazacağız

Aslında Visual Studio adında son derece gelişmiş ve işimizi son derece kolaylaştıran bir editör yazılımı var

Ancak bizim buradaki

amacımız gelişmiş kurumsal yazılımlar geliştirmek yerine C#'ı tam anlamıyla öğrenmek olduğu için bu gelişmiş yazılımı kullanmayacağız

Not Deferi'nde yazdığımız kod dosyasına "cs" uzantısı verip

Net Framework programıyla birlikte gelen csc

exe derleyicisi ile derleyeceğiz

Bu derleyici komut satırında çalışıyor ve dolayısıyla da kodumuzun derlenmesi için komut satırında kod yazacağız

Net Framework programı hem kodumuzu derlemek için,

hem de programımızın çalışması için gerekli

Net Framework'u herhangi bir download sitesinden ya da Microsoft'un resmî sitesinden ücretsiz olarak indirip bilgisayarınıza kurabilirsiniz

Vista kullanıyorsanız çok büyük ihtimalle,

XP kullanıyorsanız da bir ihtimalle

Net Framework siz de zaten kuruludur

Ancak işinizi garantiye almak isterseniz veya son sürümünü edinmek isterseniz tekrar kurabilirsiniz

Net Framework'u kurduktan sonra bilgisayarımıza bir ayar yapmamız gerekecek

Bu ayara "path ayarlama" diyoruz

Bu ayarı yapmamızın sebebi komut satırında hangi klasörde olursak olalım csc

Bunun için şunları yapın:

Bilgisayarım'a sağ tıklayın

"Özellikler"i seçin

"Gelişmiş" sekmesine gelin

"Ortam Değişkenleri" butonuna tıklayın

"Sistem değişkenleri" kısmındaki "Path"a çift tıklayın

Bu pencere burada kalsın,

şimdi C:\WINDOWS\Microsoft

NET\Framework klasörüne gidin

Oradaki klasörlerin herbirinin içine tek tek bakın

Hangisinin içinde csc

exe varsa o klasörün adres çubuğundaki yolu kopyalayın

Şimdi önceki açtığımız "Sistem Değişkenini Düzenle" penceresinin "Değişken Değeri" kısmının sonuna

işaretini koyup yolu yapıştırın

Bütün pencerelerden "tamam" diyerek çıkın

Artık Not Defteri'nde yazdığımız kodu csc

exe derleyicisi ile derleyebiliriz

Örneğin "cs" uzantısı verdiğimiz kaynak kodumuzun adı "deneme

Komut satırını açıp,

kaynak kod dosyamızın olduğu klasörü aktif hâle getirip,

cs yazıp entera basarak kodumuzu derleriz

Oluşan exe dosyamız kaynak

kodumuzla aynı klasörde ve deneme

Eğer aktif klasörde zaten deneme

exe diye bir dosya varsa eski dosya silinip yeni dosyamız kaydedilir

Programımızın kaynak kodun adından farklı bir adla oluşmasını istiyorsak

Bu örnekte programımız YeniAd

C#'la şunları yapabilirsiniz:

Konsol uygulaması geliştirme

Windows uygulaması geliştirme

NET uygulaması geliştirme

Web servisleri yazma

Mobil uygulama geliştirme (PDA,

DLL yazma

Biz kitap boyunca konsol uygulamaları,

son bölümlerde de form tabanlı uygulamalar geliştireceğiz

Ancak kullandığınız dilin ne kadar güçlü bir dil olduğunu öğrenmeniz açısından bunları bilmenizde fayda var

C Sharp Programlama Dili/İlk programımız Vikikitap,

özgür kütüphane < C Sharp Programlama Dili

Artık kod yazmaya başlıyoruz

İlk programımız şu şekilde:

class ilkprogram { static void Main() { System

Console

WriteLine("Merhaba dünya

} } Bu program konsol ekranına Merhaba

Programı geçen derste anlatıldığı gibi

sonra da programımızı çalıştırmak için komut satırında kod dosyanıza verdiğiniz adı girip entera basın

programımızın satır satır incelenmesi

class ilkprogram satırıyla ilkprogram adında yeni bir sınıf oluştururuz

C#'ta yazdığımız her programın en az bir sınıf içermesi zorunludur

{ veya } işaretleri herhangi bir sınıfın veya metodun içeriğini belirtmek için kullanılır

İlk { karakteriyle önceki satırda açtığımız ilkprogram adlı sınıfımızın içeriğine alınacak kodların başladığını,

programın son satırındaki } karakteriyle de sınıfımızın içeriğine alınacak kodların sona erdiğini belirtiyoruz

static void Main() satırıyla sınıfımızın içine Main adlı bir metot yerleştirdik

Bu metodun adı mutlaka Main olmalı,

yoksa programımız çalışmaz

Ayrıca bu metot mutlaka oluşturduğumuz sınıfın içinde olmalı

Yine { ve } karakterleriyle metodumuzun içeriğini belirledik

Dikkat ettiyseniz bir iç içe { ve } karakterleri söz konusu

Bu durumda koyulan ilk } karakteri son açılan { karakterini kapatır

Programımızın pratikte iş yapan tek kısmı ise System

Console

WriteLine("Merhaba

Bu satırla ekrana Merhaba dünya

Net Framework kütüphanesindeki hazır bir metottan yararlandık

Bu metot,

System isim alanının

altındaki Console sınıfında bulunuyor,

ismiWriteLine ve konsol ekranına yazı yazdırmaya yarıyor

Parantezler arasındaki çift tırnaklar arasına alınan metni ekrana yazdırıyor

Satırın sonundaki

karakterini ise { ve }karakterleri açıp kapatmayan bütün C# satırlarında kullanmamız gerekiyor

class ilkprogram { static void Main() { Console

WriteLine("Merhaba dünya

} } Bu programımızın işlevsel olarak ilk programımızdan herhangi bir farkı yok

Yani ikisi de aynı şeyi yapıyor

Ancak kodda bir farklılık var

Console

WriteLine("Merhaba

satırındaki System kalkmış

using deyimi C#'ta isim alanı kullanma hakkı elde etmek için kullanılan bir anahtar sözcüktür

Yani aynı isim alanında kullanacağımız birden fazla metot varsa bu isim alanını using anahtar sözcüğüyle belirtmemiz son derece mantıklı

üçüncü versiyonu

class ilkprogram { static void Main() { Console

WriteLine("Entera basın

Console

ReadLine()

Console

WriteLine("Entera bastınız

} } Bu programımız önce ekrana Entera

Kullanıcı entera bastığında da Entera

Console sınıfına ait olan ReadLinemetodu programımızın kullanıcıdan bilgi girişi için beklemesini sağlar,

yani programımızı entera basılana kadar bekletir

Kullanıcı entera bastığında da diğer satıra geçilir

Dikkat ettiyseniz ReadLine metodunda parantezlerin arasına hiçbir şey yazmıyoruz

C#'ta bazı metotların parantezleri arasına birşeyler yazmamız gerekirken,

bazı metotlarda da hiçbir şey yazılmaması gerekir

C Sharp Programlama Dili/Değişkenler Vikikitap,

özgür kütüphane < C Sharp Programlama Dili

Program yazarken her zaman sabit verilerle çalışmayız,

çoğu zaman programımızda bir verinin kullanıcının davranışına göre değişmesi gerekir

Kullanıcıdan bir metin alıp bunu ekrana yazdıran bir program buna örnek verilebilir

Değişken kısaca bellek gözeneklerinin programlamadaki karşılıklarıdır

Konu başlıkları [gizle]

2 object

[düzenle]C#'ta değişken tanımlama Çoğu programlama dilinde değişkenler kullanılmaya başlanmadan önce tanımlanırlar

Aşağıdaki şekli inceleyiniz

Yukarıdaki şekilde C#'ta değişken tanımlamanın nasıl yapıldığı anlatılmıştır

Değişken türü bellekte ayrılan gözeneğin büyüklüğünü belirtmemizi sağlar

Değişken adı da bu gözeneğe verdiğimiz adı belirtir

Doğal olarak bu gözenekteki veriye erişmek istediğimizde veya bu gözenekteki veriyi değiştirmek istediğimizde bu adı kullanacağız

Yukarıdaki şekilde

[düzenle]Değişkenlere değer atama

Çoğu programlama dilinde değişkenler tanımlandıktan sonra direkt olarak programda kullanılabilirler

Ancak C#'ta değişkeni tanımladıktan sonra ayrıca bir de ilk değer atamak zorundayız

Aksi bir durumda değişkeni programımız içinde kullanamayız

Değişkenlere değer atama şöyle yapılır:

Burada ad değişkenine 5 değerini atadık

Bu en basit değer atama yöntemidir

Ayrıca şunlar da mümkündür:

Birinci satırda tanımlama ve değer vermeyi aynı satırda yaptık

İkincisinde aynı türden birden fazla değişken tanımladık

Üçüncü satırda ise tanımladığımız değişkenlerin bazılarına değer verirken bazılarına vermedik

[düzenle]Değişken türleri Yukarıda değişken tanımlarken değişken türü için int kullanmıştık

C#'ta bunun gibi farklı kapasitelere sahip bir hayli daha değişken türü vardır

Ayrıca bazı değişken türleri sayısal,

Sayısal türler aşağıdaki tabloda listelenmiştir:

Kapasite

1 bayt 0,

-32768,

4 bayt 0,

8 bayt 0,

4 bayt ±1

16 bayt

Dikkat ettiyseniz bazı değişken türlerinde değer atarken değerin sonuna bir karakter eklenmiş,

bu değişken türlerindeki değişkenlere değer atarken siz de bunlara dikkat etmelisiniz

Sıra geldi metinsel türlere:

Tür Boyut char 2 bayt

Açıklama Tek bir karakteri tutar

string Sınırsız Metin tutar

string a="Ben bir zaman kaybıyım,

String türüne ayrıca char ve/veya string sabit ya da değişkenler + işaretiyle eklenip atanabilir

Örnekler:

C#'ta hem metinsel hem de sayısal olmayan türler de vardır:

[düzenle]bool Koşullu yapılarda kullanılır

Bool türünden değerlere true,

[düzenle]object Bu değişken türüne her türden veri atanabilir

Örnekler:

Aslında C#'taki bütün değişken türleri object türünden türemiştir

Bu yüzden object türü diğerlerinin taşıdığı bütün özellikleri taşır

Ancak şimdilik bunu düşünmenize gerek yok

nesneye dayalı programlamanın özellikleriyle ilgili

[düzenle]Değişkeni programımız içinde kullanma Şimdiye kadar değişkenleri tanımlayıp ilk değer verdik

Şimdi değişkenleri programımızda kullanmanın zamanı geldi

Bir örnek:

class degiskenler { static void Main() { byte a=5

Console

WriteLine(a)

} } Burada a değişkeninin değerini ekrana yazdırdık

Başka bir örnek:

class degiskenler { static void Main() { byte a=5

Console

WriteLine(a+b)

} } Bu programda iki değişkenimizin değerlerinin toplamını ekrana yazdırdık

class degiskenler { static void Main() { string a="Viki",

Console

WriteLine(a+b)

} } Bu programda aynı satırda iki tane string değişkeni tanımladık ve değer verdik

Bu değişkenlerin değerlerini WriteLine metoduyla ekrana yan yana yazdırdık

WriteLinemetodu + işaretini gördüğünde sayısal değişken ve değerleri toplar,

string türünden değişken ve değerleri yan yana yazar,

char türünden değişken ve değerlerin Unicode karşılıklarını toplar

Ancak tabii ki + karakterinin ayırdığı değişken veya değerler char ile stringse char karakterle string metni yan yana yazar

class degiskenler { static void Main() { string a

ReadLine()

Console

WriteLine(a+" metnini yazdınız

} } Sanırım şimdiye kadar yazdığımız en gelişmiş program buydu

Bu program kullanıcıdan bir metin alıp bunu ekrana "

Geçen dersteReadLine metodunu kullanıcı entera basana kadar programı bekletmek için kullanmıştık

Aslında

ReadLine metodunun en yaygın kullanımı

kullanıcının bilgi girişi yapmasını sağlamaktır

Dikkat ettiyseniz programımızda kullanıcının girdiği

bilgi a değişkenine atanıyor

Sonra da WriteLine metoduyla ekrana bu değişken ve "

" metni yan yana yazdırılıyor

Burada asıl önemsememiz gereken şey Console

ReadLine() ifadesinin string türünden bir değer gibi kullanılabilmesidir

C#'ta bunun gibi birçok metot bir değer gibi kullanılabilir

Tahmin edebileceğiniz üzere

WriteLine gibi birçok metot

da bir değer gibi kullanılamaz

Başka bir örnek:

class degiskenler { static void Main() { int a,

Console

WriteLine(b)

} } Bu programda da görebileceğiniz gibi değişkenlere değer olarak başka bir değişkeni atayabiliriz

Ancak değerini atadığımız değişkene daha önceden bir değer atanmış olması gerekiyor

Burada b değişkenine a değişkeninin değeri atanıyor

Ancak aşağıdaki gibi bir kullanım kesinlikle hatalıdır

class degiskenler { static void Main() { Console

ReadLine()="metin"

ReadLine()

Console

WriteLine(a)

ReadLine() ifadesi bir değişkenmiş gibi kullanılmaya çalışılıyor,

Çünkü Console

ReadLine() ifadesi yalnızca bir değermiş gibi kullanılabilir

[düzenle]Değişken adlandırma kuralları Şimdiye kadar değişkenlere ad,

a veya b gibi basit adlar verdik

Ancak aşağıdaki kuralları ihlal etmemek şartıyla değişkenlere istediğiniz adı verebilirsiniz

Değişken adları boşluk,

Değişkenler bir numerik karakterle başlayamaz

C#'ın diğer bütün komut,

metot ve benzerlerinde olduğu gibi değişken adlarında büyük-küçük harf duyarlılığı vardır

Yani degisken isimli bir değişkenle Degisken isimli bir değişken birbirinden farklıdır

Değişken adları Türkçe karakterlerden(ğ,ü,ş,ö,ç,ı) oluşamaz

[düzenle]Sık yapılan hatalar C#'ta değişkenlerle ilgili sık yapılan hatalar şunlardır:

Aynı satırda farklı türden değişkenler tanımlamaya çalışma

Örneğin aşağıdaki örnek hatalıdır:

Değişkene uygunsuz değer vermeye çalışma

Örnek:

Değişkeni tanımlamadan ve/veya değişkene ilk değer vermeden değişkeni kullanmaya çalışma

Aşağıdaki örnekte iki değişkenin de kullanımı hatalıdır

class degiskenler { static void Main() { int b

Console

WriteLine(a)

Console

WriteLine(b)

Değişken tanımlaması ve/veya değer vermeyi yanlış yerde yapma

Örnek:

WriteLine(a)

} } Diğer using dışındaki bütün komutlarda da olduğu gibi değişken tanım ve değer vermelerini de Main bloğunun içinde yapmalıyız

Bazı değişken türlerindeki değişkenlere değer verirken eklenmesi gereken karakteri eklememek

Örnek:

class degiskenler { static void Main() {

Console

WriteLine(a)

Ondalık sayıların ondalık kısmını ayırırken nokta (

) yerine virgül (,) kullanmak

Örnek:

class degiskenler { static void Main() { float a=12,5f

Console

WriteLine(a)

Metinsel değişkenlerle matematiksel işlem yapmaya çalışmak

Örnek:

class degiskenler { static void Main() { string a="1",

Console

WriteLine(a)

Bir değişkeni birden fazla kez tanımlamak

Örnek:

class degiskenler { static void Main() { string a

Console

WriteLine(a)

Değişkenlere değer verirken yanlış şekilde değer vermek

Örnek:

class degiskenler { static void Main() { string a=deneme

Console

WriteLine(a)

[düzenle]Sabit değişkenler Programımızda bazen değeri hiç değişmeyecek değişkenler tanımlamak isteyebiliriz

Örneğin pi isimli float türünden bir değişken tanımlayıp buna 3

Sabit değişkenlerin normal değişkenlerden farkı değişkeni değiştirmek istediğimizde ortaya çıkar,

sabit olarak belirtilen değişkeni değiştirirsek derleyici hata verip programımızı derlemez

Bu daha çok uzun program kodlarında işe yarayabilir

Ayrıca sabit değişkenlere tanımlandığı satırda değer vermeliyiz

Herhangi bir değişkeni sabit olarak belirtmemiz için değişken türünden önce const anahtar sözcüğü kullanılır

Örnekler:

Aşağıdaki gibi bir durum,

değişkene tanımlandığı satırda değer verilmediği için hatalıdır

Sabit değişkenlere değer olarak sabit,

sabit değişken ya da sabit ve/veya sabit değişkenlerden oluşan matematiksel ifadeler verilebilir

Örnek:

Aşağıdaki gibi bir durum hatalıdır

[düzenle]Escape sequence kullanımı Bir string sabitin içinde özel karakterler olması için escape sequence kullanılır

Örnekler:

Console

WriteLine(ad)

Bu satırda " karakterinin ad değişkenine atanan string sabitin içine koyulmasını sağladık

Yukarıdaki kod ekrana Deneme"Deneme yazar

Başka bir örnek:

string yol="Windows\\Program Files"

Burada bir illegal karakter olan \ karakterinin başına tekrar \ koyarak stringin bir tane \ almasını sağladık

string [email protected]"Windows\Program Files"

Burada yol değişkenine tırnak içerisindeki metin olduğu gibi aktarılır,

ancak doğal olarak " karakterinde işe yaramaz

Console

WriteLine("Satır\nYeni satır\nYeni satır")

Örnekte de gördüğünüz üzere C#'ta \n yeni satır yapmak için kullanılır

[düzenle]Ek bilgiler Burada değişkenlerle ilgili olan ancak herhangi bir başlıkta incelenemeyecek olan önemli bilgiler bulunmaktadır

Bunların bazıları kendiniz çıkarabileceğiniz mantıksal bilgilerdir

ReadLine() metodunun tuttuğu değer string türündedir

WriteLine() metodunda parantezler arasına girilen değer object türünden olmalıdır

Yani herhangi bir türden değer yazılabilir

Bütün değişkenler bir değermiş gibi kullanılabilir ancak değerler değişkenmiş gibi kullanılamaz

Eğer bir değişkeni tanımlamış veya tanımlayıp değer vermiş,

ancak programımızın hiçbir yerinde kullanmamışsak derleyici hata vermez,

"deneme"+"yalnızlık"+'d'+'m' gibi bir ifade aslında string türünden bir sabittir

ulong veya double türünden değişkenlere atanabilir

Aslında C#'ta sabitlerin de türleri vardır

Mesela:

Çünü C# herhangi bir ayırt edici özelliği bulunmayan tam sayı sabitleri int türünden sayar

Ancak 5'in türünün int olması 5'in byte türünden bir değişkene atanamayacağı anlamına gelmez

ushort ve uint türünden değişkenlere de atanabilirler

C#'ta herhangi bir sabit ya da değişkenin türünü anlamak için x

GetType() metodu kullanılır

Örnek:

Console

WriteLine(5

GetType())

Console

WriteLine(14

GetType())

Console

WriteLine("deneme"

GetType())

Console

WriteLine(a

GetType())

Ancak GetType() metodunun tuttuğu değer Type türündedir,

dolayısıyla herhangi bir string türündeki değişkene vs

ayrıca da GetType() metodu değişkenin CTS'deki karşılığını verir

Değişkenlerin CTS karşılıkları bir sonraki dersimizin konusudur

Sabitin diğer adı değerdir

b sabit ya da değişken olabilir

Ancak a kesinlikle değişken olmalıdır

C Sharp Programlama Dili/Tür dönüşümü Vikikitap,

özgür kütüphane < C Sharp Programlama Dili

Modern programlamada birçok kez değişkenlerde tür dönüşümüne ihtiyaç duyulur

Örneğin string türündeki sayılarla ("5" veya "2" gibi) matematiksel işlem yapmamız gerektiğinde tür dönüşümü yapmamız gerekir

Aslında bahsettiğimiz tam olarak tür dönüşümü değildir,

sadece bir değişkenin değişik türdeki hâlinin başka bir değişkene atanmasıdır

Tür dönüşümleri bilinçli tür dönüşümü ve bilinçsiz tür dönüşümü olmak üzere ikiye ayrılır

Konu başlıkları [gizle]

1 checked

ToString()

5 System

Convert sınıfı ile tür dönüşümü

[düzenle]Bilinçsiz tür dönüşümü Aslında bunu önceki derste görmüştük

Bu derste sadece adını koyuyoruz ve tanımlıyoruz: C#'ta düşük kapasiteli bir değişken,

sabit ya da değişken ve sabitlerden oluşan matematiksel ifade daha yüksek kapasiteli bir değişkene atanabilir

Buna bilinçsiz tür dönüşümü denir,

bunun için herhangi bir özel kod gerekmez

class TurDonusumu { static void Main() { byte a=5

Console

WriteLine(j+k)

} } Bilinçsiz tür dönüşümüyle ilgili ilginç bir durum söz konusudur

char türünü kendisinden daha kapasiteli bir sayısal türe bilinçsiz olarak dönüştürebiliriz

Bu durumda ilgili karakterin Unicode karşılığı ilgili sayısal değişkene atanacaktır

class TurDonusumu { static void Main() { char a='h'

Console

WriteLine(b)

} } Bilinçsiz tür dönüşümüyle ilgili diğer ilginç bir nokta ise byte,

short ve ushort türündeki değişkenlerle yapılan matematiksel işlemlerdir

Bu tür durumda oluşan matematiksel ifade intleşir

Yani aşağıdaki durumda programımız hata verir:

class TurDonusumu { static void Main() { byte a=5,

Console

WriteLine(f+g)

satırdaki a+b ifadesi intleşmiş,

satırdaki d+e ifadesi de intleşmiştir,

ve bunları en az int türdeki bir değişkene atayabiliriz

Size yardımcı olması açısında bilinçsiz tür dönüşümü yapılacabilecekler tablosu aşağıda verilmiştir:

[düzenle]Bilinçli tür dönüşümü Bilinçli tür dönüşümü genellikle derleyicinin izin vermediği durumlarda kullanılır

Bilinçli tür dönüşümüyle küçük türün büyük türe dönüştürülmesi sağlanabilse de aslında bu gereksizdir,

çünkü aynı şeyi bilinçsiz tür dönüşümüyle de yapabilirdik

Aşağıdaki programda bilinçli tür dönüşümü gerçekleştirilmektedir

class TurDonusumu { static void Main() { int a=5

Console

WriteLine(b)

} } Programımızda da görebileceğiniz gibi (byte)a ifadesi,

a değişkeninin byte hâlini tuttu

Aşağıdaki şekil bilinçli tür dönüşümünü anlatmaktadır

Eğer değişken adı kısmında tek bir değişken yoksa,

bir ifade varsa parantez içine alınması gerekir

Bu şekilde tür dönüşümü değişkenlere uygulanabildiği gibi sabitlere de uygulanabilir:

static void Main() { byte b=(byte)12

Console

WriteLine(b)

Reel türler tam sayı türlere dönüşürken ondalık kısım atılır

Bilinçsiz tür dönüşümüyle yalnızca küçük türler büyük türlere dönüşebiliyordu,

yani veri kaybı olması imkansızdı

Halbuki bilinçli tür dönüşümünde veri kaybı gerçekleşebilir,

eğer dönüşümünü yaptığımız değişkenin tuttuğu değer dönüştürülecek türün kapasitesinden büyükse veri kaybı gerçekleşir

Bu gibi durumlar için C#'ın checked ve uncheckedadlı iki anahtar sözcüğü vardır

[düzenle]checked Kullanımı aşağıdaki gibidir:

class TurDonusumu { static void Main() { int i=256

WriteLine(b)

byte'a çevrilirken veri kaybı gerçekleştiği için programımız çalışma zamanında hata verecektir

Ayrıca yeri gelmişken bir konuya değinmek istiyorum

Bu programımızda b değişkeni

tanımlansaydı checked bloklarının dışında bu b değişkenine erişemezdik,

çünkü değişkenler yalnızca tanımlandıkları en iç bloğun içinde aktiftirler

Buradaki "en iç" sözüne dikkat etmenizi öneririm

} } Burada a değişkeni yalnızca en iç blokta aktif olmasına karşın,

b değişkeni hem dıştaki hem içteki blokta aktiftir

WriteLine(a+b)

} Burada her iki değişken de WriteLine satırının olduğu yerde geçersiz olduğu için bu kod da geçersizdir

Çünkü her iki değişken de tanımlandıkları en iç bloğun dışında kullanılmaya çalışılıyor

[düzenle]unchecked Eğer programımızda veri kaybı olduğunda programın hata vermesini istemediğimiz kısımlar varsa ve bu kısımlar checked bloklarıyla çevrilmişse unchecked bloklarını kullanırız

checked'ın etkisini bloklarının içeriği çerçevesinde kırar

Programımızın varsayılan durumu unchecked olduğu için,

yalnızca eğer programımızda checkededilmiş bir kısım var ve bu kısım unchecked etmek istediğimiz alanı kapsıyorsa gereklidir,

Örnek:

class TurDonusumu { static void Main() { int i=256

WriteLine(b)

} } Programımız çalışma zamanında hata verir,

[düzenle]object türüyle ilgili kurallar C#'taki en ilginç türün object olduğunu geçen derste söylemiştik,

işte bu ilginç türün daha başka kuralları:

object türündeki bir değişkene başka herhangi bir türdeki değişken ya da sabit (string dışında) + işaretiyle eklenemez

Örneğin aşağıdaki gibi bir durum hatalıdır:

class TurDonusumu { static void Main() { object a='5'

Console

WriteLine(a+b)

object türündeki bir değişkene herhangi bir türdeki değişken ya da sabit atanabilir (bilinçsiz tür dönüşümü)

Ancak object türündeki herhangi bir değişkeni başka bir türe çevirmek için tür dönüştürme işlemi kullanılır

Ayrıca da dönüştürülen türlerin uyumlu olması gerekir

Yani object türüne nasıl değer atandığı önemlidir

Örneğin aşağıdaki gibi bir durum hatalıdır:

class TurDonusumu { static void Main() { object a="5"

Console

WriteLine(b)

} } Ancak aşağıdaki gibi bir kullanım doğrudur

class TurDonusumu { static void Main() { object a='k'

Console

WriteLine(b)

} } Aynı satırda çifte dönüşüm yapılamaz

Aşağıdaki gibi bir kullanım hatalıdır

class TurDonusumu { static void Main() {

Console

WriteLine(b)

} } Burada önce objectin chara,

sonra da charın inte dönüşümü ayrı ayrı yapılmalıydı

Aşağıdaki gibi bir kullanım hatalıdır:

class TurDonusumu { static void Main() { object a=5

Console

WriteLine(b)

} } Çünkü derleyici harfsiz tam sayı sayıları int sayar,

dolayısıyla da burada uygunsuz bir tür dönüşümünden bahsedebiliriz

satırda a inte dönüştürülmeliydi

Ancak aşağıdaki gibi bir kullanım doğrudur:

class TurDonusumu { static void Main() { byte m=5

Console

WriteLine(b)

Çünkü derleyici a'nın gizli türünün byte olduğunu biliyor

[düzenle]string türüyle ilgili dönüşümler Dikkat ettiyseniz şimdilik sadece sayısal türleri,

char ve object (uygun şekilde değer verilmiş olması şartıyla) türünü kendi aralarında dönüştürebiliyoruz

Şimdi göreceğimiz metotlarla string türünü bu türlere ve bu türleri de string türüne dönüştürebileceğiz

ToString() Bu metot x değişken ya da sabitini stringe çevirip tutar

Örnekler:

class TurDonusumu { static void Main()

ToString()

Console

WriteLine(b)

class TurDonusumu { static void Main() { int a=6

ToString()

Console

WriteLine(b)

class TurDonusumu { static void Main() { string b=12

ToString()

Console

WriteLine(b)

class TurDonusumu { static void Main() { string b='k'

ToString()

Console

WriteLine(b)

ToString() metodu System isim alanında olduğu için programımızın en başında using System

satırının bulunması bu metodu kullanabilmemiz için yeterlidir

string türüyle ilgili bilmeniz gereken birşey daha var:

class TurDonusumu { static void Main() {

Console

WriteLine(b)

} } Böyle bir kod mümkündür

Ayrıca şöyle bir kod da mümkündür:

class TurDonusumu { static void Main() { int a=5

Console

WriteLine(b)

} } Burada dikkat etmemiz gereken şey yan yana gelen sayısal ve char değer ve değişkenlerle matematiksel toplama yapılmasına rağmen bunların yan yana gelmemesi durumunda da normal yan yana yazma olayının gerçekleşmesidir

Ancak tabii ki şöyle bir durum hatalıdır:

class TurDonusumu { static void Main() { int a=5

Console

WriteLine(b)

} } Yani bir sabit ve/veya değişken grubunun bir stringe atanabilmesi için ifadenin içinde en az bir string olmalıdır

Convert sınıfı ile tür dönüşümü System isim alanının altındaki Convert sınıfı içinde tür dönüşümü yapabileceğimiz birçok metot bulunur

Bu metotlarla hemen hemen her türü her türe dönüştürebiliriz

Ancak bunun için değişken türlerinin CTS karşılıklarını bilmeliyiz

Değişken türleri ve CTS karşılıkları aşağıdaki tabloda listelenmiştir

CTS karşılığı

Boolean

double Double decimal Decimal char

Şimdi sıra geldi bu metotlara:

Convert

ToBoolean(x)

Convert

ToByte(x)

Convert

ToSbyte(x)

Convert

ToInt16(x)

Convert

ToUInt16(x)

Convert

ToInt32(x)

Convert

ToUInt32(x)

Convert

ToInt64(x)

Convert

ToUInt64(x)

Convert

ToSingle(x)

Convert

ToDouble(x)

Convert

ToDecimal(x)

Convert

ToChar(x)

Bu metotlar x'i söz konusu türe dönüştürüp o türde tutarlar

ifade olduğu zaman önce bu ifade mevcut türe göre işlenir,

sonra tür dönüşümü gerçekleşir

Kullanımına bir örnek:

class TurDonusumu { static void Main() { string s1,

Console

Write("Birinci sayı girin: ")

ReadLine()

Console

Write("İkinci sayıyı girin: ")

ReadLine()

ToInt32(s1)

ToInt32(s2)

Toplam=sayi1+sayi2

Console

Write("Toplam= "+Toplam)

} } Bu programla kullanıcıdan iki sayı alıp bunların toplamını ekrana yazdırdık

Ayrıca burada şimdiye kadar kullanmadığımız Write metodunu kullandık

Bu metodunWriteLine'dan tek farkı ekrana yazıyı yazdıktan sonra imlecin alt satıra inmemesi

C Sharp Programlama Dili/Yorum ekleme Vikikitap,

özgür kütüphane < C Sharp Programlama Dili

Yorumlar,

programa etki etmeyen ancak kendimizin veya kodu inceleyen bir başkasının nerede ne yapıldığını anlamasını sağlayacak yazılardır

Yorumlar tek satırlık ve çok satırlık olmak üzere ikiye ayrılır

iki tane slash'ten (//) sonra gelen aynı satırdaki yazıları yorum sayar

Örnek:

class yorum { static void Main() { int a=0

//Burada a'yı tanımladık ve sıfır değerini verdik

//Burada b'yi tanımladık ve beş değerini verdik

Console

Write(a+b)

//Burada toplamlarını ekrana yazdırdık

Dolayısıyla da çok satırlık yorumlar yazılabilir

Örnek:

class yorum { static void Main() { Console

Write("deneme")

işte burada bitti

C Sharp Programlama Dili/Operatörler Vikikitap,

özgür kütüphane < C Sharp Programlama Dili

Programlama dillerinde tek başlarına herhangi bir anlamı olmayan ancak programın işleyişine katkıda bulunan karakter ya da karakter topluluklarına operatör denir

Örneğin a+bifadesinde + işareti bir operatördür

Operatörlerin etki ettikleri sabit ya da değişkenlere ise operand denir

Örneğin a+b ifadesinde a ve b birer operanddır

C#'ta operatörlerın bazıları tek,

bazıları da üç operand alır

Peki eğer bir ifadede birden fazla operatör varsa ne olacak

? Örneğin 2+3*7 gibi bir ifadede önce hangi işlem yapılacak

? Burada önce toplama işlemi yapılırsa sonuç 35 olur,

ancak önce çarpma işlemi yapılırsa sonuç 23 olur

İşte C#'ta bu gibi durumları önlemek için operatör önceliği diye kavram bulunmaktadır

Operatör öncelikleri ile ilgili şu kuralları bilmenizde fayda var: 

Önce parantez içleri yapılır

Örneğin (3+5)*9 gibi bir ifadede önce toplama işlemi yapılır

İç içe parantezler söz konusuysa önce en içteki parantez yapılır,

sıra ile dıştaki parantezlere gidilir

Örneğin (2+(9+2)*5)*2 gibi bir ifadede önce 9 ile 2 toplanıp 11 değeri bulur,

sonra 11 ile 5 çarpılıp 55 değeri bulunur,

sonra 55 ile 2 toplanıp 57 değeri bulunur,

en son da 57 ile 2 çarpılıp 114 değeri bulunur

Dikkat ettiyseniz yukarıdaki örnekte bir parantez söz konusu olmamasına rağmen önce toplama yerine çarpmanın yapıldığı bir durumla karşılaştık

Çünkü C#'ta farklı operatörlerin farklı önceliği vardır

Yani ifadede bir parantez yoksa önce öncelik sırası daha önde olan operatörün işlemi yapılır

Aşağıdaki tabloda operatörler öncelik sırasına göre listelenmiştir

öncelik sırası en önde olandan en geride olana göre sıralanmıştır

Yani aynı ifadede parantez söz konusu değilse bu tablodaki daha üstte olan operatör daha önce işletilecektir

Birinci öncelikliler

Tek operand alan operatörler

(Tür)x

Çarpma ve bölme

Toplama ve çıkarma

Kaydırma operatörleri

İlişkisel ve tür testi operatörleri

Eşitlik operatörü

Bitsel Ve (AND)

Bitsel Özel Veya (XOR)

Bitsel Veya (OR)

Mantıksal Ve

Mantıksal Veya

Koşul operatörü

Atama ve işlemli atama operatörleri =,

|= Dikkat ettiyseniz yukarıdaki tablodaki bazı operatörler aynı sırada,

yani bunların öncelik sırası eşit

C#'ta eğer operatörler eşit öncelikliyse,

Yani 2*6/5 işleminde önce 2 ile 6 çarpılır,

sonra da sonuç 5'e bölünür

Çoğu durumda bunun sonuca bir değişiklik yapmadığı düşünülse de bazı durumlarda işleme soldan başlanmasının sağdan başlamaya göre değişik sonuçlar doğurduğu durumlara rastlanabilir

Örneğin:

class Operatorler { static void Main() { int i=3*5/7

Console

Write(i)

} } Bu programda ekrana 2 yazılır

class Operatorler { static void Main() { int i=3*(5/7)

Console

Write(i)

} } Bu programda ekrana 0 (sıfır) yazılır

Çünkü C# sonunda herhangi bir harf olmayan tam sayı sabitleri int sayar ve intin kurallarına göre işlem yapar

int sabitlerle yapılan her işlemden sonra

Ancak programı aşağıdaki gibi değiştirirsek sonuç değişmeyecektir

class Operatorler { static void Main() { int i=(int)(3f*(5f/7f))

Console

Write(i)

} Burada sabitleri floatlaştırdık,

dolayısıyla da işlemin sonunda float bir sabit oluştu

Sonra tür dönüştürme operatörüyle sonucu inte çevirip i değişkenine atadık ve bu değişkeni de ekrana yazdırdık

Şimdi isterseniz bütün operatörleri tek tek inceleyelim

Konu başlıkları [gizle]

/ ve * operatörleri hakkında açıklama yapma gereksinmi görmüyorum

Burada henüz görmediğiniz bir operatörü tanıtmak istiyorum

% operatörü mod alma işlemi yapar,

class Operatorler { static void Main() { int i=5%2

Console

Write(i)

Yani 5 sayısının 2'ye bölümünden kalan i değişkenine atandı

Matematiksel operatörler hakkında şunu eklemek istiyorum: eğer işlem yapılan her iki operarand farklı türdeyse sonuç daha üst kapasiteli türde tutulur

Örnek:

class Operatorler { static void Main()

Console

Write(i)

} } Burada 5 sayısı da float gibi davranmış ve sonuç ondalıklı çıkmıştır

class Operatorler { static void Main() { float i=2/5/2f

Console

Write(i)

Çünkü zaten işlem yapılırken sonuç daha floata (2f) gelmeden sıfırlanmıştı

class Operatorler { static void Main() { float i=2f/5/2

Console

Write(i)

} } Burada ise zincirleme olarak her işlemin sonucu floatlaşmakta ve sonuç ondalıklı çıkmaktadır

Daha çarpıcı bir örnek:

class Operatorler { static void Main() { float i=2f/5/2/2/4/8/4/5/3

Console

Write(i)

} } Burada da sonuç ondalıklıdır

artırma ve bir eksiltme operatörleri

C#'ın en çok kullanılan operatörlerindendir

Önüne veya sonuna geldiği değişkeni bir artırır veya bir eksiltirler,

Hem uygulandığı değişkenin değerini 1 artırır veya eksiltirler hem de tutucu vazifesi görürler

Ön ek ve son ek olmak üzere iki şekilde kullanılabilirler

class Operatorler { static void Main() { int a=5

Console

Write(i+" "+a)

} } Programda da gördüğünüz gibi ++ operatörü hem a'nın değerini bir artırdı hem de bu değeri tuttu ve değer i'ye atandı

İşte ön ek ve son ek şeklinde kullanımın farkı burada ortaya çıkıyor

Örneği inceleyiniz

class Operatorler { static void Main() { int a=5

Console

Write(i+" "+a)

} } Bu programda ++ operatörü ön ek şeklinde değil de son ek şeklinde kullanılmış

Bu durumda 7

satırda önce a'nın değeri i'ye atanır,

sonra a'nın değeri 1 artırılır

Halbuki ilk örneğimizde önce a'nın değeri 1 artırılmış sonra bu değer i'ye atanmıştı

İsterseniz şimdi bu ++ ve

class Operatorler { static void Main() { int a=5

Console

Write("{0}\n{1}\n{2}\n{3}",a,i,b,d)

} } Bu program ekrana alt alta 6,

Dikkat ettiyseniz Write metodunu farklı şekilde kullandık

Siz de böyle çok fazla değişkeni daha kolay yazdırabilirsiniz

Ayrıca bu yöntemi WriteLine metodunda da kullanabilirsiniz

NOT: Bir artırma ve bir azaltma operatörleri byte,

short ve ushort türlerindeki değişkenlerin türünü değiştirmez

Daha önceki derslerimizden birinde 2 (büyüktür),

Örnekler:

class Operatorler { static void Main() { bool a=45

Console

Write("{0}\n{1}\n{2}\n{3}\n{4}\n{5}",a,b,c,d,e,f)

} } Bu program ekrana alt alta True,

False ve True yazacaktır

Tüm değişken türlerinden objecte ve string değerli olmak şartıyla objectten stringe dönüşüm yapar

Örnek:

class Operatorler { static void Main() { object i="50"

Console

Write(s)

class Operatorler { static void Main() { int i=50

Console

Write(s)

Verilen değişken,

sabit ya da ifadenin türünü kontrol eder

Eğer söz konusu değişken,

sabit ya da ifade verilen türle uyumluysa true değilse false değeri üretir

Eğer söz konusu değişken,

sabit ya da ifadenin türü her zaman true ya da false üretiliyorsa derleyici uyarı verir,

ancak bu uyarı derlemeye engel değildir

Kullanımına bir örnek:

class Operatorler { static void Main() { int i=50

Console

Write("{0}\n{1}\n{2}\n{3}\n{4}",b1,b2,b3,b4,b5)

False ve False yazacaktır

Dikkat ettiyseniz 12 sabitini byte saymadı ve 12f+7 sabitini de int saymadı

Çünkü C#,

harfsiz tam sayı sabitleri int sayar

Bu operatörler true veya false sabit ya da değişkenleri mantıksal ve,

Bunlar && (ve),

Örnekler:

class Operatorler { static void Main() { bool b1=35>10&&10==50

//true bool b3=5 is int||12*3==200

//true bool b4=5sonuç 00000111 çıkar

Yani 7 çıkar

Yani 6 çıkar

Yani 250 çıkar

Yani 247 çıkar

Yani 247 çıkar

Console

Write(a+" "+b+" "+c+" "+e+" "+f+" "+g)

} } Bitsel operatörler sayıları ikilik sisteme dönüştürüp karşılıklı basamakları "ve",

"veya" veya "özel veya" işlemine sokarlar ve sonucu operandlarıyla birlikte tutarlar

& (ve) işlemi karşılıklı basamaklardan her ikisi de 1'se ilgili basamağında 1 tutar,

| (veya) işlemi karşılıklı basamaklarından herhangi birisi 1'se ilgili basamağında 1 tutar,

^ (özel veya) işlemi karşılıklı basamakları farklıysa ilgili basamağında 1 tutar,

~ (değil) operatörü operandının her basamağını tersleştirip tutar

Bu operatörlerin operandları byte,

ushort olması durumunda sonuç intleşir

NOT: Başında 0x veya 0X olan sayılar 16'lık düzende yazılmış demektir

Örnek:

static void Main() { int a=0xff

Console

Write(a+" "+b)

} } Bu program ff sayısının onluk düzendeki karşılığı olan 255 sayısını ekrana iki kere yazacaktır

Bu operatörler (>) sayıların bitlerini istenildiği kadar kaydırmak için kullanılır

Örnekler:

class Operatorler { static void Main() { byte b=100

// d'iki kez sağa kaydırıldı ve 00001100 oldu

Write(c+" "+e)

} } > operatörlerinin operandları değişken olabileceği gibi sabit ya da ifade de olabilir

Operand(lar) byte,

ve işlemli atama operatörleri

Şimdiye kadar çok kullandığımız = operatörüyle ilgili bilmeniz gereken iki şey var

Sol tarafta kesinlikle yalnızca bir tane değişken olmalı

Örneğin aşağıdaki gibi bir kullanım hatalıdır

= operatöründe işlemler sağdan sola gerçekleşir ve = operatörü operandlarıyla birlikte atadığı değeri tutar

Örnek:

class Operatorler { static void Main() { byte b=7,

Console

Write(a+" "+b+" "+c)

} } Bu program ekrana yan yana üç tane 7 yazacaktır

satırında önce b a'ya atanır ve a=b ifadesi 7 değerini tutar

Çünkü a=b atamasında 7 sayısı atanmıştır

Sonra a=b ifadesinin tuttuğu 7 sayısı c'ye atanır

Sonunda üç değişkenin değeri de 7 olur

Ancak şu örnek hatalıdır:

class Operatorler { static void Main() { byte b=7,

Console

Write(a+" "+b+" "+c)

} } Burada önce a c'ye atanıyor ve c=a ifadesi 1 değeri tutuyor ve ifademiz 1=b ifadesine dönüşüyor

Atama operatörünün prensibine göre böyle bir ifade hatalı olduğu için program derlenmeyecektir

Bir de işlemli atama operatörleri vardır

Aslında bunlar = operatörünün yaptığı işi daha kısa kodla yaparlar:          

?: operatörü C#'ta üç operand alan tek operatördür

Verilen koşula göre verilen değerlerden (object türünden) birini tutar

Kullanımı şöyledir:

?doğruysa_değer:yanlışsa_değer Örnek:

class Operatorler { static void Main() {

Console

Write("Vikikitap'ı seviyor musunuz

ReadLine()

Console

Write(durum=="e"

} } Tabii ki verilen değerlerin illa ki sabit olma zorunluluğu yoktur,

değişken ya da ifade de olabilir

sabit ya da ifadenin işaretini değiştirmek için kullanılır

Örnekler:

class Operatorler { static void Main() { int a=50

Console

Write("{0}\n{1}\n{2}\n{3}\n{4}",a,b,c,d,e)

yan yana ekleme operatörü (+)

+ operatörü stringleri veya charları yan yana ekleyip operandlarıyla birlikte string olarak tutar

Ancak ifadedeki bütün bileşenlerin string olarak birleşebilmesi için ilk stringten önce charların yan yana gelmemesi gerekir

Yalnızca charlardan oluşan bir ifade stringleşmez

NOT: + ve

değişken ve ifadeleri toplamak ve çıkarmak için de kullanılır

Bunu daha önce görmüştük

Herhangi bir değişken türünün CTS karşılığını Type türünden tutar

Örnek:

class Operatorler { static void Main() { Type a=typeof(int)

Console

Write(a)

Int32 yazar

C Sharp Programlama Dili/Akış kontrol mekanizmaları Vikikitap,

özgür kütüphane < C Sharp Programlama Dili

Program yazarken çoğu zaman herşey ak ve kara gibi net olmaz,

çoğu zaman çeşitli koşullara göre farklı komutlar çalıştırmamız gerekir

Benzer şekilde çoğu komutun da yalnızca bir kez çalıştırılması bizim için yeterli gelmez,

belli koşulları sağladığı sürece sürekli çalıştırılmasını istediğimiz komutlar olabilir

İşte bu gibi durumlar için C#'ta akış kontrol mekanizmaları vardır

Aslında en basitinden en karmaşığına kadar bütün programlama dillerinde bu mekanizmalar mevcuttur ve programlama dillerinin en önemli ögelerinden birisidir

Konu başlıkları [gizle]

1 if else

2 switch

1 break

2 continue

[düzenle]if else if else deyimi sayesinde belli bir koşul sağlandığında söz konusu komutlar çalıştırılır,

o belli koşullar sağlanmadığında çalıştırılmaz ya da başka komutlar çalıştırılır

Kullanılışı şu şekildedir:

if(koşul) { komutlar1 } else { komutlar2 } Yukarıdaki örneklerde eğer koşul sağlanırsa 1

if veya else'in altında birden fazla komut varsa bu komutları parantez içine almak gerekir

if veya else'in altında tek komut varsa bu komutları parantez içine almak gerekmez

Örnek bir program:

class AkisKontrolMekanizmalari { static void Main() { int a=5,

} } PI ve E özellikleri double türünden değer tutarlar

Şimdi System

Math sınıfındaki bütün metotları bir tablo hâlinde verelim:

Açıklama

Bir sayının mutlak değerini tutar

Bir sayının kosinüsünü tutar

Bir sayının sinüsünü tutar

Bir sayının tanjantını tutar

Ceiling(x) x sayısından büyük en küçük tam sayıyı tutar (yukarı yuvarlama)

Floor(x)

x sayısından küçük en büyük tam sayıyı tutar (aşağı yuvarlama)

Max(x,y) x ve y sayılarının en büyüğünü tutar

Min(x,y) x ve y sayılarının en küçüğünü tutar

Pow(x,y) x üzeri y'yi tutar

Sqrt(x)

x sayısının e tabanında logaritmasını tutar

Log10(x) x sayısının 10 tabanındaki logaritmasını tutar

Şimdi bir örnek verelim:

class Metotlar { static void Main() { int a=Math

Max(10,34)

Abs(-3)

Ceiling(12

Console

Write("Max:"+a+" Abs"+b+" Ceiling:"+c)

} } Bu metotlar çeşitli türlerden değer döndürebilirler

Örneğin Ceiling metodu double türünden değer döndürürken başka bir metot int türünden değer döndürebilir

Bunları deneyerek bulabilirsiniz

Açıklama yapma gereksinimi görmüyorum

C Sharp Programlama Dili/Sınıflar Vikikitap,

özgür kütüphane < C Sharp Programlama Dili

Sınıflar nesne yönelimli programlamanın en önemli ögesidir

Sınıflar sayesinde programlarımızı parçalara bölüp karmaşıklığını azaltırız

C#'ta metotlar ve özellikler mutlaka bir sınıfın içinde olmalıdır

Metotlar bir veya daha fazla komutun bir araya getirilmiş halidir

geriye değer döndürebilirler

Özellikler ise bellek gözeneklerinin programlamadaki karşılıklarıdır

Bu bakımdan özellikler değişkenlere benzerler

Aradaki en temel fark değişkenlerin bir metot içinde tanımlanıp yalnızca tanımlandığı metot içinde etkinlik gösterebilmesine rağmen özelliklerin tıpkı metotlar gibi bir üye eleman olmasıdır

Bu bakımdan özelliklerin tuttuğu değerlere daha fazla yerden erişilebilir

Konu ba