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

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up