Salam
Növbəti dərsimizə başlayaq.
Növbəti dərsimizə başlayaq.
C# dərsləri. 6-cı dərs.
Maraqlıdır, bəs biz artıq string (sətir) tipi ilə də tanışıq. Bəs bu tiplə ədədlərin münasibəti necədir?
Gəlin baxaq. Belə bir proqram kodu yığaq.
int tamEded = 10;
string setir = "tem ededin qiymeti " + tamEded;
Console.WriteLine(setir);
Console.ReadKey();
Belə asan. Bəs kəsr ədəd necə?
int tamEded = 10;
string setir = "tem ededin qiymeti " + tamEded;
Console.WriteLine(setir);
double kesrEded = 5.45;
setir = "kesr ededin qiymeti " + kesrEded;
Console.WriteLine(setir);
Console.ReadKey();
Nəticə:Belə bir fikir bizdə yarandı ki, ədədlər asan sətir tipinə keçir. Lakin bu həmişə belə olmur.
Gəlin kodu bir az dəyişək və nəticəyə diqqət edək.
int tamEded = 10;
string setir = tamEded;
Console.WriteLine(setir);
double kesrEded = 5.45;
setir = kesrEded;
Console.WriteLine(setir);
Console.ReadKey();
Nəticədə bizə artıq tanış olan səhvlərlə qarşılaşırıq.
Error 1 Cannot implicitly convert type 'int' to 'string'
Error 2 Cannot implicitly convert type 'double' to 'string'
Yəni biz int və double tipli ədədləri qeyri-müəyyən surətdə string tipli sətirə çevirə bimərik.
Bəs onda əvvəlki nümunələr necə?
Diqqət edək əvvəlki nümunələr.
string setir = "kesr ededin qiymeti " + kesrEded;
Orada ədəd birbaşa sətir tipli dəyişənə verilmirdi. Gördüyümüz kimi orada sətir əməliyyatı var idi. Yəni üstəgəl əməliyyatında iştirakçılardan biri artıq string tipli dırnaqarası sözlər idi.Bu əməliyyata Cşarp icazə verir. Hətta belə yazsaqda:
string setir = kesrEded + "kesr ededin qiymeti ";
Lakin son kodda biz çalışırıq ədədi və ya ədəd tipli dəyişəni birbaşa sətir tipli dəyişənə verək.
string setir = 5.45;
string setir = kesrEded;
Bu isə Cşarp-da xüsusi qeyd olunmadan qadağandır. Bununla Cşarp bizi təsadüfi diqqətsizlikdən qoruyur, yəni bilmədən bizi sətirə ədədin qiymətini verib, sonra saatlarla proqramda səhvi axtarmaqdan qoruyur.
Qaydaya əsasən biz yalnız açıq şəkildə bu əməliyyatı yerinə yetirə bilərik. Bəlkə yenə də mötərizədə biz string tipini qeyd etməliyik.
Yox bu yol string üçün yaramır. Yoxlayaq:
int tamEded = 10;
string setir = (string)tamEded;
Console.WriteLine(setir);
setir = (string)10;
Console.WriteLine(setir);
Console.ReadKey();
Yenə də Cşarp bizim səhvlərimizi qeyd edir.
Deməli string tipinə cevirmək asan deyil. Əslindı gələcəkdə siz görəcəksiniz ki, elə ən asanı string tipinə çevirməkdir. Çün ki hər obyekt-in (obyektin nə olduğunu gələcəkdə keçəcəyik, indi isə bilin ki hər bir dəyişən Cşarpda obyektdi) ümumi bir fuksiyası var. Amma gəlin sıra ilə gedək.
Birincisi sizə ən aydın yolu göstərim. Bu yolu siz məntiqlə də tapa bilərdiniz. Amma bu yol belə deyək professional yol saylmasa da, sadəcə anlamaq üçün çox asan yoldu.
int tamEded = 10;
string setir = "" + tamEded;
Console.WriteLine(setir);
setir = "" + 10;
Console.WriteLine(setir);
Console.ReadKey();
Burada biz boş sətirin üstünə ədəd tipli dəyişəni gəlirik. Yoxlayaq:
Alındı.
İndi isə ikinci yolla tanlş olaq.
int tamEded = 10;
string setir = tamEded.ToString();
Console.WriteLine(setir);
double kesrEded = 5.65;
setir = kesrEded.ToString();
Console.WriteLine(setir);
Console.ReadKey();
Nəticəyə baxaq:
Əla, deməli ədəd tipli dəyişənlərin arxasına nöqtəToString() yazmaqla çox asan onları sətir tipinə çevirmək olur. Bu funksiya, və ya metod C#-da ən çox istifadə olunan və universal əməliyyatlardan biridir. ToString() istədiyiniz dəyişəni sətir formasına çevirir.
Bəs görəsən dəyişənləri yox, elə ədədlərin özünü biz sətir tipinə çevirə bilərik mi? Gəlin yoxlayaq.
string setir = 10.ToString();
Console.WriteLine(setir);
setir = 5.65.ToString();
Console.WriteLine(setir);
Console.ReadKey();
Nəticəyə nəzər yetirək:
Super. Əhsən C# -a. C# həqiqətən də çox gözəl proqramlaşdırma dilidir və gələcəkdə siz özünüz bunun şahidi olacaqsınız.
Üçüncü yolu isə sizə gələcək dərslərimizdə başa salacam.
6-cı dərsin sonu.
Комментариев нет:
Отправить комментарий