رفتن به مطلب
  • 0

compare to


Mralihjz

سوال

2 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در ۱ ساعت قبل، Mralihjz گفته است :

سلام میشه لطفا یه توضیح کامل درباره خاصیت compare to متد text بدید؟

متد compareTo دو String رو کاراکتر به کاراکتر با هم از نظر لغوی مقایسه میکنه. در واقع اول اونا رو به unicode تبدیل میکنه و کاراکتر به کاراکتر با هم مقایسه میکنه تا برسه به اولین کاراکترهایی که باهم برابر نیستن و تفاوت اون دوتا رو برمیگردونه. به مثال زیر توجه کنید. فرض کنیم میخوایم دو عبارت a و d رو با هم مقایسه کنیم. 

Dim a As String="a"
Dim b As String="d"
Log(a.CompareTo(b)) ' = -3

خروجی 3- میشه. خب این از کجا اومده. میایم دوتا عبارت رو به یونیکد تبدیل میکنیم. یونیکد عبارت "a" برابر با مقدار "u0061" هست و یونیکد عبارت "d" برابر با "u0064" هست. حالا اگه اینا رو از هم کم کنیم به شکل زیر 

Log(0x0061-0x0064) ' =-3

که میبینید این هم خروجیش همون 3- هست.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 8 دقیقه قبل، محمدرضا شاهپیری گفته است :

متد compareTo دو String رو کاراکتر به کاراکتر با هم از نظر لغوی مقایسه میکنه. در واقع اول اونا رو به unicode تبدیل میکنه و کاراکتر به کاراکتر با هم مقایسه میکنه تا برسه به اولین کاراکترهایی که باهم برابر نیستن و تفاوت اون دوتا رو برمیگردونه. به مثال زیر توجه کنید. فرض کنیم میخوایم دو عبارت a و d رو با هم مقایسه کنیم. 


Dim a As String="a"
Dim b As String="d"
Log(a.CompareTo(b)) ' = -3

خروجی 3- میشه. خب این از کجا اومده. میایم دوتا عبارت رو به یونیکد تبدیل میکنیم. یونیکد عبارت "a" برابر با مقدار "u0061" هست و یونیکد عبارت "d" برابر با "u0064" هست. حالا اگه اینا رو از هم کم کنیم به شکل زیر 


Log(0x0061-0x0064) ' =-3

که میبینید این هم خروجیش همون 3- هست.

ممنون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...