TryParse C# | Int32. Uzbek
Tags: tryparse, csharp, uzbek, integer
Published: 2024-06-04 05:58:14

**Salom barchaga. Bugun biz TryParse haqida gaplashamiz. Va shu o'rinda quyidagi savollar bilan bog'liq miflarni sindiramiz.**

```
- TryParse o'zi nima ?
- TryParsening turlari ham bormi ?
- TryParse C# da qanday ishlaydi ?
- Amaliyot qilib ko'ramizmi ?
```


_**Boshladik🚀**_

> TryParse bu Parse qilishga harakat qiladigan bir method deb olsak ham bo'ladi. Misol uchun Int.Parse() methodi bizga int tipiga parse qilib beradigan bo'lsa TryParse parse qilishga harakat qiladi, qila olmasa false qaytradi. TryParse C# dasturlash tilida System kutubxonasining methodi hisoblanadi. Ishga tushirilishi esa System.Runtime.dll orqali amalga oshiriladi. Mantiqiy qiymat qaytaradi.

_Boshqa methodlar kabi TryParse() methodining o'ziga yarasha Overloadinglari ham bor. Overloading bu parametrlarni joylash, Yani qancha parametr va qanday shaklda olishi. Ularni ham birma bir ko'rib chiqamiz._

1 - `TryParse(ReadOnlySpan<Byte>, IFormatProvider, Int32)` - _[UTF-8](https://www.google.com/search?q=what+is+utf-8+in+c%23&sca_esv=6b733a51577a6574&ei=AKVeZtesFZSj3QPWvYi4DA&oq=what+is+utf-8+in+C&gs_lp=Egxnd3Mtd2l6LXNlcnAiEndoYXQgaXMgdXRmLTggaW4gQyoCCAIyBhAAGBYYHjIGEAAYFhgeMgYQABgWGB4yCBAAGBYYHhgPMgYQABgWGB4yBhAAGBYYHjIGEAAYFhgeMgYQABgWGB4yChAAGBYYChgeGA8yBhAAGBYYHkjyGVC3A1ivCXABeAGQAQCYAY8BoAGRBaoBAzAuNbgBAcgBAPgBAZgCBqACrAXCAgoQABiwAxjWBBhHwgINEAAYgAQYsAMYQxiKBcICBRAAGIAEmAMAiAYBkAYKkgcDMS41oAfhHA&sclient=gws-wiz-serp) belgilar oraligida qiymatga ajratishga harakat qiladi. _

2 - `TryParse(ReadOnlySpan<Char>, Int32)` -_ Belgilangan methodni **Int32** ga Parse qilishga harakat qilib ko'radi. Agar **Parse** qila olsa natijani qaytaradi. Yokida **False** qaytaradi(Yoki methodning return typega bog'liq)._

3 - `TryParse(String, Int32)` - _String orqali kiritgan ma'lumotni tekshiradi, Agar kiritgan ma'lumot raqam ko'rinishida bo'lsa natijani qaytaradi. Aks holda False._

4 - `TryParse(ReadOnlySpan<Char>, IFormatProvider, Int32)` - _Belgilar oralig'ini qiymatga ajratishga harakat qiladi._

5 - `TryParse(String, IFormatProvider, Int32)` - _Qatorni qiymatga ajratishga harakat qiladi. _

6 - `TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, Int32)` - _UTF-8 belgilar oralig'ini qiymatga ajratishga harakat qiladi. _

7 - `Shu ko'rinishda ketaveradi. O'zingiz har bir harakatlar qilib ko'rasiz, hali pastda o'rganadigan narsalar ko'p :) `


C# dasturlash tilida yozilishi

```
public static bool TryParse (ReadOnlySpan<byte> utf8Text, IFormatProvider? provider, out int result);
```

`.NET 8` & `.NET 9`_ ga tegishli Method hisoblanadi_.

Agar method orqali kelgan qiymat `null` bo'lsa, Convert qilish bajarilmaydi.


Kelinglar bir Misollar orqali ko'rib chiqamiz. 

public static void Main() 
{
     string[] sonlar = { null, "1244", "-8595", "+550", "23.5", "(102);", "01FR"}

     foreach(var i in sonlar) 
     {
          int son;
          bool omad = int.TryParse(i, out son);
          if (omad)
             Console.WriteLine($"{i} Convert qilindi >> {son}");
          else 
             Console.WriteLine("Convert qilishda xatolik, null qiymatlarni ham tekshiring!");
     } 
}

Bu yerda Code Convert qila olmaydi, Sababi ?

- Birinchi qiymatda Null qiymat oldi. Failed❌
- 1244 Bunisi ishlaydi✅
- -8595 Bunisi ishlaydi✅
- +550 Bunisi ishlaydi✅
- 23.5 Failed ❌
- (102); Faied. Sababi ortiqcha belgilar ham qo'shilgan.
- 01FR - Failed❌, Raqam va Sonlar aralashib ketdi.


Qisqacha bo'lsa ham tushuntira oldin degan umiddaman.