PDA

View Full Version : سوال: فرق Convert با Parse چیست؟



ali.bahrami
یک شنبه 01 بهمن 1391, 00:14 صبح
سلام دوستان یه سوال برام پیش اومده فرق کلاس Convert با Parse در تبدیل انواع چبه؟ یعنی وقتی می خوایم مثلا یک رشته عددی را به int تبدیل کنیم فرق میکنه از Convert استفاده کنیم یا از Parse !!؟؟

با تشکر

Direlap
یک شنبه 01 بهمن 1391, 00:51 صبح
از convert برای تبدیل استفاده میشه مثلا عدد رو به رشته تبدیل بکنید تا بتونید ازش در تکست باکس ها استفاده کنید.

از parse برای تجزیه استفاده میشه مثلا من تو یکی از برنامه هام آدرس آی پی رو به صورت نقطه دار از کاربر میگرفتم با متد parse اونو به عددهای جداگونه تجزیه می کردم.

mmd2009
یک شنبه 01 بهمن 1391, 01:15 صبح
با سلام

تفاوت زیادی با هم دیگه ندارن چون به هر حال در هر دو روش فرضا برای int دستور int.parse فراخوانی میشه فقط اینکه در convert.toint32 دستور int.parse به صورت داخلی اجرا میشه اگر مقدار ارگومان ورودی null نباشه چون اگر null باشه مقدار 0 رو برمیگردونه ولی در int.parse ارگومان ورودی نباید null باشه.

موفق باشید

RED-C0DE
یک شنبه 01 بهمن 1391, 09:40 صبح
زیاد تفاوتی ندارن
برای وقتایی ک شما می دونین داده ی مورد نظر یک رشته ی عددی هست بهتره از int.Parse استفاده کنید
اگه از عددی بودن رشته مطمئن نیستید (مثلا از کاربر دریافت کردید) از TryParse() استفاده کنید

از لحاظ کارایی Convert.ToInt32() کندتر از int.Parse() کار می کنه چون Convert.ToInt32() داخل خودش از int.Parse() استفاده می کنه. اگه با .net reflector بررسی کنید این رو می بینید :
http://upload.iranvij.ir/images_dey91/55515678878555800636.jpg

و می بینید ک در Convert.ToInt32 در صورتی ک مقدار مورد نظر تهی باشد 0 برمی گردونه