DEV Community

Cover image for TryParse C# | Int32. Uzbek
Ozodbek
Ozodbek

Posted on

TryParse C# | Int32. Uzbek

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 ?
Enter fullscreen mode Exit fullscreen mode

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 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);
Enter fullscreen mode Exit fullscreen mode

.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!");
 } 
Enter fullscreen mode Exit fullscreen mode

}

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.

Top comments (2)

Collapse
 
karenpayneoregon profile image
Karen Payne

You need to properly format code e.g.

string mightBeInt = "1";
if (int.TryParse(mightBeInt, out int result))
{

}
else
{

}  
Enter fullscreen mode Exit fullscreen mode
Collapse
 
ozodbek_soft profile image
Ozodbek

Thanks