PDA

View Full Version : سوال: چه موقع از convert استفاده کنم؟ چه موقع از int32.parse



farhadfery
چهارشنبه 02 شهریور 1390, 10:58 صبح
سلام دوستان
یه سوال تابلو دارم. اینکه چه موقعی باید از convert استفاده کنم و چه موقعی از int32.parse?
مثلا وقتی سن کاربر را از textbox می خونم . یا زمانی که یه سطر از grid را می خونم!

mamrez_kh
چهارشنبه 02 شهریور 1390, 11:23 صبح
این جا (http://www.codeproject.com/KB/cs/AgileWare_Convert_Int32.aspx) رو یه نگاهی بنداز

farhadfery
چهارشنبه 02 شهریور 1390, 11:57 صبح
برای اینکه ببینم کد ملی که در textbox وارد شده تمام عدد است از int32.tryparse استفاده کردم. اما چون کد ملی 10 رقمی است و مثلا می تونه 9896512536 باشه. که خیلی بزرگ جواب نمی ده. باید چه کار کنم؟
به جای int32 بزنم int64? اصلا int64 داریم؟

mamrez_kh
چهارشنبه 02 شهریور 1390, 12:05 عصر
اگر از tryparse استفاده بکنی دیگه مشخص نمیشه که طرف همه چیو عدد زده یا نه (تو همون لینکی که دادم توضیح داده). واسه این کار از parse کلاس int64 استفاده کن. int64 تا 18 رقم کامل ساپورت میکنه (تا 20 رقم هم ساپورت میکنه). وقتی که عدد رو parse کردی اگر FormatException برگردوند یعنی طرف به غیر از اعداد کاراکتر های دیگه ای هم وارد کرده. تو اون لینکی که گذاشتم اینا رو کامل با مثال توضیح داده

farhadfery
چهارشنبه 02 شهریور 1390, 12:26 عصر
اگر از tryparse استفاده بکنی دیگه مشخص نمیشه که طرف همه چیو عدد زده یا نه (تو همون لینکی که دادم توضیح داده). واسه این کار از parse کلاس int64 استفاده کن. int64 تا 18 رقم کامل ساپورت میکنه (تا 20 رقم هم ساپورت میکنه). وقتی که عدد رو parse کردی اگر FormatException برگردوند یعنی طرف به غیر از اعداد کاراکتر های دیگه ای هم وارد کرده. تو اون لینکی که گذاشتم اینا رو کامل با مثال توضیح داده
خوب tryparse هم کارش که همینه. int32.tryparse(strNum, out Number) که Nimber هم int است. نتیجه true/false هست. چرا میگید اگر غیرعدد باشه مشخص نمی شه؟

mamrez_kh
چهارشنبه 02 شهریور 1390, 12:30 عصر
میبخشید، اشتباه از طرف من بود. به اون تیکش دقت نکرده بودم. حرفتون کاملاً درسته و از tryparse هم میتونید استفاده بکنید