DEV Community

Ozodbek
Ozodbek

Posted on

Pattern Matching | Uzbek | C#

Bugun biza C# dasturlash tilidagi legenda xususiyatlardan biri bo'lmish Pattern Matchinglarni ko'rib o'tamiz!

Bu postni ham ma'lum bir sabablarga ko'ra savol javob orqali yoritib boraman.

1 savol - Pattern Matching nima ?

C# dasturlash tilida Pattern Matching - bu kod ichida turli ma'lumot turlarini aniqlash va ular ustida ishlash ustida turli xil amallar bajarish uchun ishlatiladi. C# dasturlash tilida bu xususiyat odatda swtich case, if else operatorlari yordamida ishlatiladi.

2 savol: Pattern Matching C# da qachon paydo bo'lgan ?

Pattern Matching C# dasturlash tilida ilk bor C# 7.0 versionda paydo bo'lgan. Undan keyin esa C# (8.0, 9.0, 10.0, 11.0, 12.0 ∞) larda ancha kengaytilishni boshlagan, hozirgacha C# kuchayishdan to'xtamayapdi 🔥

3 savol: Pattern Matching yordamida turli ma'lumot turlarini qanday qilib tekshiramiz ?

Pattern Matching orqali ma'lumot turlarini tekshirib olish uchun is kalit so'zidan foydalaniladi.

Misol uchun:

object obj = "Ozodbek";
if (obj is string)
    Console.WriteLine(true);
else 
    Console.WriteLine(false);
Enter fullscreen mode Exit fullscreen mode

ushbu kodda is yordamida biz "Ozodbek"ni string ekanligini aniqlashimiz mumkin. Hozir bu yerda natija true qaytadi. Sababini tushuntirib o'tirmayman.

4 savol: Switch case da Patterns qanday ishlaydi ?

Switch case orqali C# 7.0 dan beri ishlab kelmoqda, biz esa hozirgi kundagi holatini ko'rib o'tamiz 👇

object obj = 17;
switch (obj)
{
    case int i: Console.WriteLine("Butun son. Ya'ni integer"); break;
    case double d: Console.WriteLine("O'nlik. Ya'ni double"); break;
    case string s: Console.WriteLine("String matn. Ya'ni harf, son aralash belgilar"); break;
    default: Console.WriteLine("Boshqa tip"); break;
}
Enter fullscreen mode Exit fullscreen mode

Bu yerda qaysi tipga mas'ul ekanini korishimiz mumkin bo'ladi.

*5 savol: * Tuple Pattern nima va u qanday ishlaydi ?

_Tuple Pattern yordamida bir nechta qiymatlarni tekshirishimiz mumkin. Ming marta nazariya o'qigandan bir mart ko'rib review qilgan yaxshi deganlaridek👇 _

Console.WriteLine("Sonlarni birma bir kiriting! Har bir sonni kiritgandan keyin enter tugmasini bosishni unutmang! Ogohlik Tashkent talabi!");
(int, int) raqam = (int.Parse(Console.ReadLine() ?? ":)"), int.Parse(Console.ReadLine() ?? ":)"));
switch (raqam)
{
    case (0, 0): Console.WriteLine("Xato son kiritdingiz!"); break; 
    case (23, 17): Console.WriteLine("Xato son kiritdingiz, Lekin sal yaqinlashtingiz!"); break;  
    case (17, 23): Console.WriteLine("Tog'ri son kiritdingiz!"); break;
    default: Console.WriteLine("Boshqa son kiritdingiz!"); break;
}
Enter fullscreen mode Exit fullscreen mode

6 savol: Property Pattern nima ?

Property pattern yordamida obyektning xususiyatlarini tekshirishimiz mumkin!

public class Circle 
{
     public int Radius { get; set; } 
}
var shakl = new Circle { Radius = 5 };
if (shakl is Circle { Radius: 5 })
{
    Console.WriteLine("Bu doirani radiusi 5 ga teng!");
}
Enter fullscreen mode Exit fullscreen mode

Bu yerda property pattern yordamida shaklning Radiusi aniqlanadi

Davomi bor

https://chatgpt.com/share/12ee29aa-2b10-41e9-b577-540e6b35620a

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more