DigiKala Ads
متفاوت ترین مجله اینترنتی ...

آموزش سی شارپ C# – بخش ۴۹

45
  • مقدمه

در ادامه بحث‌های فعلی‌ ای که در رابطه با زبان برنامه نویسی سی‌شارپ داشته‌ایم، در بخش پیشین با متد 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 مقدار -1 (منفی یک) را بر می گرداند.

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

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

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

2-string_indexof_form

ممکن است به این مطالب نیز علاقمند باشید
45 دیدگاه
  1. اشکان می‌گوید

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

    ممنون

  2. مهران می‌گوید

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

    1. Jeff Mosawy می‌گوید

      سلام دوست عزیزم،

      ممنونم از لطف شما، خواهش می‌کنم!
      مرجع خاصی در ذهن ندارم! در رابطه با نوشتن یک نرم‌افزار ضبط صدا، احتمالاً از DirectX یا XNA Framework استفاده کرده است.
      موفق باشید!

    2. حمید می‌گوید

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

  3. novid66843 می‌گوید

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

  4. محمد حسین می‌گوید

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

  5. محمد می‌گوید

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

    1. Jeff Mosawy می‌گوید

      سلام دوست عزیزم،

      لطفاً به عناوین مطالب دقت بفرمایید؛ بنده در فتوشاپ متخصص نیستم.
      موفق باشید!

  6. xaniar می‌گوید

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

  7. علی می‌گوید

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

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

    1. Jeff Mosawy می‌گوید

      سلام دوست عزیزم،

      شما می‌توانید استفاده از دیتابیس Microsoft SQL Server رو شروع کنید و نحوه‌ی کارکردن با آن در سی‌شارپ رو یاد بگیرید، خواهید توانست که اطلاعات کاربران را در دیتابیس ذخیهر کنید و بعدش هم فراخوانی کنید در مواقع نیاز.
      موفق باشید!

  8. علی می‌گوید

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

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

    1. Jeff Mosawy می‌گوید

      سلام دوست عزیزم،

      من در اسرع وقت بررسی می‌کنم و نتیجه رو به اطلاع شما خواهم رساند.
      موفق باشید!

    2. علی می‌گوید

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

  9. karbalayi می‌گوید

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

    1. Jeff Mosawy می‌گوید

      سلام دوست عزیزم،

      نه دوست عزیز، اما متأسفانه برای چند هفته مشکلی داشتم که قادر به نوشتن بخش‌های بعدی نبودم. انشاءالله از فردا مجدداً شروع خواهم کرد. برایم دعا کنید.
      موفق باشید!

  10. novid66843 می‌گوید

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

    1. Jeff Mosawy می‌گوید

      سلام دوست عزیزم،

      متأسفانه برای چند هفته مشغله‌های کاری زیادی داشتم که متأسفانه توانایی قراردادن آموزش‌ها را نداشته‌ام. انشاءالله از فردا مجدداً شروع خواهم کرد
      موفق و موید باشید!

  11. مهدی می‌گوید

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

  12. ehsan می‌گوید

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

    1. Jeff Mosawy می‌گوید

      سلام دوست عزیزم،

      خدمت شما: https://www.gooyait.com/1391/11/21/c-sharp-tutorial-part-16.html

  13. 110 می‌گوید

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

    1. Jeff Mosawy می‌گوید

      سلام دوست عزیزم،

      خیلی ممنونم از نظر لطف شما، منم به داشتن افراد بافرهنگی مثل شما افتخار می‌کنم.
      امیدوارم که هنوز مطالب رو دنبال کنید، چونکه آموزش‌ها تا به اینجا ختم نشده‌اند، انشاءالله از فردا بخش‌های بعدی قرار خواهند گرفت.
      موفق باشید!

  14. حسین می‌گوید

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

    1. ابراهیم می‌گوید

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

    2. حسین می‌گوید

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

    3. Jeff Mosawy می‌گوید

      سلام دوست عزیزم،

      ظاهراً یکی از دوستان خوبم پاسخ شما را داده‌اند، امیدوارم که مشکلتون برطرف شده باشه.
      متأسفانه (یا شاید هم خوشبختانه) هنوز به مبحث شی‌گرایی و Class نرسیده‌ایم. می‌توانید با خیال راحت شروع کنید.

      موفق باشید!

  15. مقدم می‌گوید

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

  16. علی می‌گوید

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

    1. Jeff Mosawy می‌گوید

      سلام دوست عزیزم،

      چرا دوست عزیز، انشاءالله از فردا مجدداً بخش‌های بعدی را قرار خواهم داد. برای چند هفته مشغول کاری بودم که امکان نوشتن بخش‌های بعدی را نداشته‌ام. با عرض پوزش.
      موفق باشید.

  17. yasna می‌گوید

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

    1. Jeff Mosawy می‌گوید

      سلام دوست عزیزم،

      اگرچه هدف من از این مقالات آموزشی، جواب دادن به سوالات خارج از موضوع نیست،‌ اما تا جایی که در توانم باشه سعی می‌کنم در هر زمینه‌ای کمک کنم! دقیقاً بفرمایید که مشکلتان در چه بخش(هایی) هست که بتوانم بهتر راهنمایی کنم.
      موفق باشید!

  18. حمید می‌گوید

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

  19. ramin می‌گوید

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

  20. محمد حسین اسماعیلی می‌گوید

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

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

    ممنون

  21. اسمیت می‌گوید

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

    1. Jeff Mosawy می‌گوید

      سلام دوست عزیزم،

      ما مخلص شما هم هستیم، ممنونم از لطفت.

  22. behnod sh می‌گوید

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

    1. Jeff Mosawy می‌گوید

      سلام دوست عزیزم،

      آموزش‌های از یکجا به بعد بنا بر دلایلی متوقف شده است! بابت این مشکل از شما معذرت می‌خوام.

      موفق و مؤید باشید!

  23. kamal می‌گوید

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

    1. Jeff Mosawy می‌گوید

      سلام دوست عزیز و نازنینم،

      انشاءالله اگر مشکلات بنده حل شد و فرصت کافی‌ای برای من ایجاد شد، فایل PDF این بخش‌ها رو آماده خواهم کرد و در اختیار شما قرار خواهم داد. آموزش‌ها هم در صورت امکان مجدداً‌شروع خواهند شد.
      موفق باشید.

  24. بابک پورحسین می‌گوید

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

  25. محمود می‌گوید

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

  26. R می‌گوید

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

  27. حمید می‌گوید

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

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

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

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.

مقدمه در ادامه بحث‌های فعلی‌ ای که در رابطه با زبان برنامه نویسی سی‌شارپ داشته‌ایم، در بخش پیشین با متد Contains آشنا شده‌اید؛ در این […]