آموزش سی شارپ قسمت 70 : متد Indexof
متد Indexof زمانی بکار میرود که بخواهیم وجود یک کاراکتر را در داخل دیگری چک کنیم. بعنوان مثال فرض کنید میخواهیم وجود کاراکتر @ را در آدرس ایمیل چک کنیم. اگر کاراکتر وجود نداشته باشد باید به کاربر بگوییم که آدرس ایمیل صحیح نیست.
یک دکمه و یک Textbox به فرم اضافه کنید.
برای خصوصیت متن Textbox یک آدرس ایمل بهمراه کاراکتر @ قرار دهید.
بر روی دکمه دابل کلیک کنید تا پنجره کد باز شود و کد زیر را اضافه نمایید:
ابتدا ببنیم که متد IndexOf چطور عمل می کند. کد را بصورت زیر مینویسیم:
int result = stringEmail.IndexOf( "@" );
متد IndexOf یک متغیر integer را باز می گرداند. این عدد مکان کاراکتر را در متنی که کنترل میکنیم مشخص میکند. در کد بالا میخواهیم کلمه هایی را که در متغیری بنام stringEmail وجود دارند کنترل کنیم. میخواهیم ببینیم که آیا کاراکتر @ در آن وجود دارد یا خیر. این کد را در بین پرانتزهای ( ) متد IndexOf قرار میدهیم.
اگر #C این کاراکتر را پیدا کند مکان آن را مشخص میکند (در مثال ما سومین کاراکتر در کلمه). سپس این عدد در یک متغیر int بنام result ذخیره می شود. اگر کاراکتر پیدا نشود متد IndexOf مقدار 1- را باز میگرداند. دستور if مقدار متغیر result را برای کنترل محتوای داخل آن چک می کند. اگر مقدار برابر -1 باشد پیغام Invalid Email Address message نمایش داده می شود در غیر اینصورت پیغام دیگری نمایش داده می شود.
برنامه را اجرا و دکمه را کلیک کنید. در مثال زیر کاراکتر @ در Textbox وجود دارد:
در مثال زیر کاراکتر @ را از Textbox حذف کرده ایم:
توجه کنید که Messagebox اول عبارت "@ found at position 2" را نشان میدهد. با این حال اگر به آدرس ایمیل در Textbox توجه کنید me@me.com متوجه خواهید شد که کاراکتر @ حرف سوم در آدرس است نه حرف دوم. اما چون #C شمارش را از 0 شروع میکند کاراکتر را بعنوان حرف دوم میشناسد.
همچنین می توانید موقعیت شروع و تعداد کاراکترها را برای جستجو مشخص کنید. این روش برای بررسی یک رشته طولانی و شمارش تعداد دفعات تکرار یک کاراکتر خاص در متن مفید است. در مثال زیر چک میکنیم که آدرس وب سایت در محتوای Textbox وجود دارد یا نه.
به قسمت مشخص شده توجه کنید:
webAddress.IndexOf( checkWebAddress, start, numOfChars )
در اینجا سه پارامتر در بین پرانتزهای IndexOf قرار دارد. اولین پارامتر متنی است که میخواهیم کنترل کنیم.(checkWebAddress) سپس عبارتهای start و numOfChars قرار داده ایم. متغیر start موقعیتی است که میخواهیم بررسی از آنجا شروع شود. پارامتر سوم تعداد کاراکترهایی است که میخواهیم از موقعیت تعیین شده به بعد چک شود. در مثال ما متغیر start برابر 0 و numOfChars برابر 10 است.
در انتها با متد IndexOf کل متن را برای کنترل وجود کاراکترهای تعیین شده و تعداد دفعات تکرار آن بررسی می کنیم:
کد کمی پیچیده است . اما اگر فهم آن برایتان سخت است زیاد نگران نباشید. این کد تنها استفاده از متد IndexOf به همراه سه پارامتر است: یک کلمه برای جستجو کردن. یک موقعیت برای شروع جستجو و تعداد کاراکترهایی که باید بررسی شود. هنگامی که کلمه پیدا میشود موقعیت start تغییر میکند. همچنین با حرکت در کلمه، تعداد کاراکترهایی که باید شمارش شوند، کاهش می یابد
این فصل در یک نگاه:
آموزش ارسال پیامک، آموزش ارسال پیامک تکی و گروهی ، ارسال پیامک به صورت اختصاصی برای هر مشترک، دریافت پیامک، مشاهده وضعیت…
توضیحات کلی مجموعه: آیا می دونید قیمت نرم افزارهای مدیریت پیامک در حدود 150 هزار تومان است؟ اما توسط این دوره شما میتونید با مبلغ بسیار کمتر یک نرم افزار مدیریت پیامک رو به صورت کاملا حر…این فصل در یک نگاه:
در این فصل که فصل پایانی این دوره می باشد در مورد نحوه ساختن فایل نصبی سریع یا همان quick installer که روش پیشنهاد شده م…
توضیحات کلی مجموعه: پس از بازخوردهای بسیار خوبی که از دوره های آموزش برنامه نویسی سیستم اتوماسیون اداری و آموزش برنامه نویسی سیستم فروش و انبارداری مشاهده کردیم، تصمیم گرفتیم با توجه به درخ…این فصل در یک نگاه:
در این فصل که فصل آخر از مجموعه بزرگ آموزش سیستم اتوماسیون اداری می باشد در ابتدا در مورد اسناد و نامه های خارج از سازما…
دوره صفر تا صد آموزش برنامه نویسی و پیاده سازی سیستم اتوماسیون اداری تحت شبکه. (توصیه می شود دومی مجموعه را حتما ببینید) امروزه اطلاعات یکی از مهمترین و با ارزشترین منابع هر اداره و یا ساز…این فصل در یک نگاه:
توضیح تنظیمات گرافیک و صدا در یونیتی پیاده سازی منو ها …
به نام خدا بازیسازی یک حرفه بسیار جذاب است و تبدیل شدن به یک بازیساز حرفهای آرزوی همه ماست. اینکه بتوانیم دنیای خاصی خلق کنیم و در این دنیا قوانین خود را پیاده کنیم، همیشه ما را به وج…این فصل در یک نگاه:
اجرای سیستم روی سیستم، قرار دادن سیستم روی سرور، تعریف Connetion String، آشنایی با فایل App.config، ساخت رشته اتصال به ص…
مهمترین تکنولوژیهای استفاده شده در این دوره پروژه محور (سیستم فروش کالا و انبارداری) طراحی گرافیکی به روش WPF (Windows Presentaion Foundation) آموزش کامل برنامه نویسی xaml (برای طراحی های …این فصل در یک نگاه:
فصل پنجم…
توضیحات کلی مجموعه: درباره گیت: لذت پیش بردن پروژه های برنامه نویسی خود را با بهترین ورژن کنترل سیستم جهان تجربه کنید کامل ترین دوره ی آموزشی گیت و گیت هاب به همراه مثال های کاربردی گی…