متد LastIndexOf
نام دوره: زبان سی شارپ مقدماتی
نویسنده: علی مقدم جاه (مدرس دوره)
تفاوت متد LastIndexOf با متد IndexOf چیست؟
در پست مربوط به آموزش متد IndexOf با کاربرد این متد بصورت کامل آشنا شدید.
متد LastIndexOf دقیقا همان کار متد IndexOf را انجام میدهد، با این تفاوت که برعکس متد IndexOf عملیات جستجو را آغاز میکند.
پس متد IndexOf عملیات جستجو را از حرف اول رشته به سمت حرف آخر رشته انجام میدهد، اما متد LastIndexOf عملیات جستجو را از حرف آخر به سمت حرف اول انجام میدهد.
برای درک بهتر این موضوع لطفا دو مثال زیر را بررسی نمایید.
الف) متد IndexOf
string url = "www.kaarisho.com";
int index = url.IndexOf(".");
:خروجی
index = 3
به این علت که متد IndexOf از حرف اول رشته “www.kaarisho.com” یعنی حرف W به سمت حرف M عملیات جستجو را انجام میدهد، بنابراین چون به عنوان ورودی به آن کاراکتر دات (.) را ارسال کردهایم، در نتیجه به محض پیدا کردن اولین کاراکتر دات از سمت چپ، شماره خانه آن کاراکتر را برای ما برگردانده و در ظرف index از نوع int ذخیره میکند.
w اول = خانه صفرم
w دوم = خانه اول
w سوم = خانه دوم
دات = خانه سوم
ب) متد LastIndexOf
string url = "www.kaarisho.com";
int index = url.LastIndexOf(".");
:خروجی
index = 12
به این علت که متد LastIndexOf از حرف آخر رشته “www.kaarisho.com” یعنی حرف M به سمت حرف W عملیات جستجو را انجام میدهد، بنابراین چون به عنوان ورودی به آن کاراکتر دات (.) را ارسال کردهایم، در نتیجه به محض پیدا کردن اولین کاراکتر دات از سمت راست، شماره خانه آن کاراکتر را برای ما برگردانده و در ظرف index از نوع int ذخیره میکند.
نکته مهم: اینکه عملیات جستجو از کدام سمت آغاز شود، ربطی به شماره خانه کاراکترها ندارد!
یعنی همچنان کاراکترها از سمت چپ اندیس گذاری میشوند.
w اول = خانه صفرم
w دوم = خانه اول
w سوم = خانه دوم
دات = خانه سوم
K = خانه چهارم
a = خانه پنجم
a = خانه ششم
r = خانه هفتم
i = خانه هشتم
s = خانه نهم
h = خانه دهم
o = خانه یازدهم
دات = خانه دوازدهم
جهت شرکت در دورههای زبان برنامه نویسی سیشارپ، از کد تخفیف heplc30 استفاده کنید.