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 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.
Top comments (2)
You need to properly format code e.g.
Thanks