• مقدمه

در ادامه بحث‌های فعلی‌ ای که در رابطه با زبان برنامه نویسی سی‌شارپ داشته‌ایم، در بخش پیشین با متد Contains آشنا شده‌اید؛ در این بخش، شما با متد جدیدی به نام IndexOf آشنا خواهید شد. پس با ما باشید.

  • متد IndexOf

متد IndexOf می تواند زمانی مورد استفاده شما قرار گیرد که بخواهیم بررسی کنیم که آیا کارکتری در بین کارکتر دیگری وجود دارد یا نه. برای مثال، در نظر بگیرید که شما بخواهید یک ایمیلی که توسط فردی وارد شده است را بررسی کنید که آیا حاوی کارکتر @ هست یا نه؛ اگر وجود نداشت، شما می توانید برای کاربر پیامی صادر کنید تا ادرس ایمیل خود را به دلیل اشتباه بودن آن ، تصحیح کند.

به فرمی که در پیش داشته ایم، یک button و یک text box جدید اضافه کنید. مشخصه ی text مربوط به Text box را یک ایمیل وارد کنید. بر روی button خود دابل کلیک کنید تا وارد بخش کدنویسی آن شوید. کد ها را مطابق با تصویر زیر وارد نمایید :

1-string_indexof

اولین موردی که می بایست درباره آن توضیحاتی دهم، این است که IndexOf چگونه کار می کند. به این خط از کد دقت کنید:

int result = stringEmail.IndexOf(“@”);

متد IndexOf، مقداری از نوع int بر میگرداند. این شماره، محل قرارگیری کارکتر مورد نظر شما در کلمه ی وارد شده می باشد. در کد بالا، ما می خواهیم که کلمه ای را بررسی کنیم که در متغیری با نام stringEmail ذخیره شده است. ما در واقع می خواهیم بررسی کنیم و ببینیم که آیا متن ما حاوی @ می باشد یا نه! این مقدار در بین پرانتزهای مربوط به متد IndexOf قرار می گیرد. اگر که C# (سی‌شارپ) کارکتر مورد نظر را پیدا کند، محل قرارگیری آن را به شما خواهد گفت. این شما در نهایت در متغیری از نوع Int ذخیره شده که ما آن را با نام result ایجاده کرده ایم. اگر که کارکتری که شما به دنبال آن بودید در متن مورد نظر شما وجود نداشته باشد، متد IndexOf مقدار -۱ (منفی یک) را بر می گرداند.

کد شرطی ما (if) که در کدهای بالا می بینید، در حال بررسی مقدار result است. اگر که مقدار -۱ باشد، متوجه می شویم که کارکتر مورد نظر شما وجود ندارد، در غیراینصورت، کارکتر مورد نظر در محلی که در result ذخیره می شود، موجود است.

از برنامه ای که تهیه کرده اید یک اجرا بگیرید؛ بر روی Button جدیدی که ایجاد کرده اید کلیک کنید. نتیجه باید مشابه نتیجه پایین شده باشد:

اگر ایمیل وارد شده دارای کاکتر @ باشد:

2-string_indexof_form

نظرات کاربران
اشتراک در
اطلاع از
45 نظرات
اشکان
12 سال قبل

سید ادامه بده.
PDF هم بزار لطفا.

ممنون

مهران
12 سال قبل

با سلام
اول بابت آموزش سی شارپ ، تشکر !
من نرم افزارای جالبی دیدم که با سی شارپ نوشته شده بودن ، مثلا یکیشون نرم افزار ضبط صدا بود .
خواستم بدونم شما مرجعی میشناسید که متدهای کتابخونه ها رو معرفی کرده باشه ؟
مثلا همین نرم افزار ضبط صدا رو میشه با چه متدی نوشت ؟
ممنون

حمید
پاسخ به  Jeff Mosawy
12 سال قبل

با سلام و تشکر فراوان از زحمت های شما
من یه سوالی دارم …یعنی یه برنامه ای میخوام بنویسم که خود اون نرم افزار بر روی مکان مشخصی از صفحه نمایش کلیک کند( و هم دابل کلیک)
و ما تعداد دفعات کلیک و مختصات رو به نرم افزار بدهیم تا نرم افزار بر روی آن کلیک کند
اگه راهنمایی کنید ممنون میشم
fox11101@yahoo.oc

novid66843
12 سال قبل

واقعا ممنون دمت گرم عالی مثل همیشه خسته نباشی خدا قوت

محمد حسین
12 سال قبل

سلام
فکر کنم مثالی که زده شد زیاد برای نمونه کدها مناسب نیست جون برای تست ایمیل شرایطی دیگری هم ملاک هستش.
ولی مفهوم IndexOf رو خیلی خوب بیان کردید.
ممنون
mhsmity@yahoo.com

محمد
12 سال قبل

سلام ببخشید من یه سوال فتوشاپی داشتم میخواستم بدونم چجوری میتونم یه برش بصورت رعد و برق در عکسم ایجاد کنم؟ ممنون میشم راهنماییم کنید

xaniar
12 سال قبل

ممنون بابت زحماتتون

علی
12 سال قبل

با سلام
بنده یهک سوال داشتم که شاید به این قسمت ها مربوط نباشه و شایدم من هنوز نرسیدم به قسمت های جلو ولی در هر حال میشه بدونم اگه بخوایم با C# نرم افزاری طراحی کنیم که اطلاعات کاربران رو ذخیره کنه و بتونیم در موارد نیاز اطلاعات کاربران رو بر اساس سال و … استخراج کنیم . میخواستم بدونم چه کار هایی باید بلد باشیم ؟ پایگاه داده هم نیازه ؟
میبخشید ولی تا چه قسمتی رو بخونم میتونیم یه چنین پروژه ای رو انجام بدم

ممنون از همه آموزش های عالی تون و وقتی که برای نوشتن و کاربر ها میزارید ;)

علی
12 سال قبل

سلام دوست عزیز واقعا خسته نباشید , کارتون عالیه
فقط تورو خدا منو نجات بدید من خیلی کلافه شدم به این دلایل
١ – اصلا پی دی اف 25 را پیدا نکردم , در قسمت 25 شما پی دی اف 24 رو گذاشتید , پس خود 25 چی ؟!
٢- بخش 45 رو بطور کلی پیدا نمیکنم چه رسد به پی دی اف ! حتی از طریق منوی آموزش و برنامه نویسی
٣ – این دو بخش 47 , 48 اصلا پی دی اف نداره

دستت طلا دوست کوشای من .

علی
پاسخ به  Jeff Mosawy
12 سال قبل

سلام دوست عزیز , آقا فرمودید در اسرع وقت بررسی میفرمایید و جواب میدید … !
اون موارد که عرض کردم رو لطف کنید ممنون میشم

karbalayi
12 سال قبل

سید!! خسته نباشی ! این اخرین بخش سی شارپ بود؟؟؟؟؟؟؟؟؟؟؟؟؟

novid66843
12 سال قبل

واقعا ممنون اما چرا اموزش ها انقدر کوتاه شده ؟

مهدی
12 سال قبل

سلام . با عرض تشکر از مطالب بسیار خوب سایت شما
ببخشید اگر بخواهیم پیغامی مثل مدل پیغام بالا به کاربر نشان دهیم ، با این تفاوت که پیغام ما در همان یکبار نمایش سه جمله در سه خط باشد ، چه تغییراتی باید انجام بدهیم ؟
الان پیغام شما در مثال بالایی یک جمله در یک خط است
ممنون از زحمات شما

ehsan
12 سال قبل

salam ,,mamnoon az amozeshatoom,,age momkene linke ghesmate 16 ro bezariid,harchi migardam peidash nemikoonam

110
12 سال قبل

سلام فکر می کنم منو یادتون باشه (تو بخش 36 کامنت جنجالی گذاشته بودم). می خواستم از شما واقعن تشکر کنم به خاطر تلاش مستمر و کاری که دارین می کنین. امیدوارم هرجا هستین در پناه خدا موفق باشین و زندگی روی زیبای خودش رو به شما نشون بده. وجود جوون هایی مثل شما باعث افتخاره.

حسین
12 سال قبل

سلام واقعا می‌خواستم ازت تشکر کنم. من و رفیقم می‌خواستیم بریم کلاس، ولی خب بحث مالی پیش اومد، نتیجتآ رفیقم تنها رفت. تا این‌که شما رو پیدا کردم. واقعا ممنونم.تا این‌جا بخش17 هستم، گام به گام دارم میام جلو فقط دوتا سوال داشتم
1- فرض کنید مثلا یه form داشته باشیم بعد یه button هم براش تشکیل دادیم، اگه بر روی button کلیک کنیم بره یه form دیگه.نمیدونم منظورم درست انتقال دادم یا نه. حالا من می‌خواستم بدونم چه‌جوری باید این‌کار رو کرد؟ نمی‌دونم تو بخش‌های آموزش هنوز بهش نرسیدم یا بعدا می‌خواید آموزش بدید.
2- یه سوال دیگه هم داشتم که آیا در مورد “کلاس” آموزش دادین یا نه؟
مرسی

ابراهیم
پاسخ به  حسین
12 سال قبل

سلام با اجازه از استاد محترم برای این کار شما باید دو تا فرم ایجاد کنید همون طور که فرمودید تو ی فرم یک که buttonگذاشتید روش دابل کلیک میکنید تا وارد کد نویسش بشید
مثلا نام فرم دو رو student اگر بخواهیم تو فرم یک وقتی دکمه رو باز کنیم به فرم شماره دو بره مینویسیم ;()student ob =new student
;()ob.showDialog
توضیح یک متغیر است که به فرم student دسترسی داره به جای ob می تونید هراسمی که دوست داشتین بزارین

حسین
پاسخ به  ابراهیم
12 سال قبل

خیلی ممنون از شما آقای ابراهیم و آقا/خانم مقدم.
بله درست شد. و با اضافه کردن این کد در ادامه کدها
;()this.hide
وقتی روی button کلیک شود به form2 می‌رود و form1 پنهان خواهد شد.
یه سوال دیگه هم داشتم که آیا اشیای form1 برای form2 قابل شناسایی است
یعنی مثلا اگه یه تکست باکس توی form1 داشته باشیم، form2 می‌تونه اونو بشناسه یا نه؟
مرسی

مقدم
12 سال قبل

با سلام و کسب اجازه از آقای موسوی
شما باید ابتدا یک نمونه از فرم دوم در فرم اول ایجاد کنید به این صورت که پس از دوبار کلیک روی buttonدستورات زیر را تایپ کنید
form2 frm=new form2;
frm.show();
نکته1:form2نام فرمی است که میخواهیم با کلیک روی button بالا بیاید شما میتوانید به جای آن نام فرم مورد نظر را قراردهید.
نکته2:برای اضافه کردن فرم جدید به برنامه در قسمت سمت راست رویwindowes formکلیک راست کرده و از قسمت add کلمهform را انتخاب کنید.
امیدوارم راهنماییم مفید باشه.

علی
12 سال قبل

با سلام
این آموزش ها ادامه پیدا نمی کنه ؟ حیف به خدا

yasna
12 سال قبل

سلام،بابت تمامی این فایل های آموزشی که گذاشته اید.ممنونم.
من پروژه ای دارم که طبق ان باید برنامه بنویسم که اطلاعات مربوط به کالاهای یک فروشگاه را وارد کند وتمامی اطلاعات مربوط به کالاها را نمایش دهد.ممنون میشم اگر در این مورد توضیحی دهید.

حمید
12 سال قبل

با سلام و تشکر فراوان از زحمت های شما
من یه سوالی دارم …یعنی یه برنامه ای میخوام بنویسم که خود اون نرم افزار بر روی مکان مشخصی از صفحه نمایش کلیک کند( و هم دابل کلیک)
و ما تعداد دفعات کلیک و مختصات رو به نرم افزار بدهیم تا نرم افزار بر روی آن کلیک کند
اگه راهنمایی کنید ممنون میشم
fox11101@yahoo.oc

ramin
12 سال قبل

Eshoonam bezarinSalam age mishe bakhshhaye jadid o chan taye ghablio noskhe pdf

محمد حسین اسماعیلی
12 سال قبل

با سلام دستون درد نکنه. ممنون.

اگه امکانش هست اورلود شماره نه این تابع مخصوص قسمت StringComparison رو توضیح بدین

ممنون

اسمیت
12 سال قبل

سلام
دمت گرم خیلی باحالی
یه تحویلی بگیر
نا سلامتی بازدید کننده هستیم ما

behnod sh
12 سال قبل

با عرض سلام و خسته نباشید
من تا قسمت 50 از اموزشc#رو تونستم اینجا دریافت کنم ایا از 50 به بعد این اموزش تو ای سایت هست؟

kamal
12 سال قبل

با عرض سلام خدمت شما دوست گرامی آقای موسوی
بنده یکی از کسانی هستم که آموزش های شما رو دنبال می کنم و پیگیر مطالب جدید شما هستم.
من می خواستم بدونم که چرا فایل پی دی اف آموزش های شماره 48 و 49 و 50 رو توی سایت قرار ندادین؟
لطفا فایل پی دی اف این آموزش ها رو هم توی سایت عالیتون قرار بدین.
متشکرم

بابک پورحسین
11 سال قبل

با سلام و عرض تشکر فراوان
د.ست عزیز لینک قسمتهای ۴۳ – ۴۴ – ۴۵ -۴۶ -۴۷ -۴۸ و ۴۹ غیر فعال هستن
در صورت امکان نسبت به رفع مشکل اقدام نمایید

محمود
11 سال قبل

سلام خیلی ممنون بابت آموزشی که قرار دادید اگر فایل pdf آموزش این بخش و بخش های بعدی (۴۸,۴۹,……..)رو هم قرار بدید خیلی خوب میشه
با تشکر

R
11 سال قبل

قسمت ۴۳ تا ۴۸؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟!!!

حمید
10 سال قبل

سلام
بابت آموزش سی شارپ ممنونم
بعضی از لینک ها غیر فعال شده اند مانند:
جلسه ۴۷: انجام عملیات Trim
جلسه ۴۸: متد Contains

لطفا pdf رو هم برای باقی جلسات قرار بدید

آموزش ساده و قابل فهمی بود
لذت بردم
تشکر زیاد