بسم الله الرحمن الرحیم
آموزش مقدماتی تا پیشرفته سی شارپ بخش دوازدهم
سلام به همه کاربران وبسایت بزرگ لندلرن
با قسمت ۱۲ آموزش در خدمت شما هستیم.
زير رشته ها :
در بيشتر مواقع ممكن است بخواهيد در برنامه خود به جاي كار با تمام رشته، با قسمتي از آن كار كنيد.
براي مثال مي خواهيد از يك مجموعه از كاراكتر ها كه در اول رشته و يا در آخر آن آمده اند استفاده كنيد.
اين مجموعه كاراكتر ها كه ممكن است از هر جـايي از رشته شروع شوند
و به هر جايي در رشته ختم شوند را زير رشته مي ناميم .
در بخش امتحان كنيد بعد، برنامه قبلي را به گونه اي تغيير مي دهيم كه سه كاراكتر ابتدا، وسط و انتهاي رشته را نيز نمايش دهد .
امتحان كنيد: كار با زير رشته ها
- اگر برنامه Strings در حال اجرا است، آن را ببنديد
- دكمه فرمان ديگري به فرم اضافه كنيد و خاصيت Name آن را برابر btnSplit
و خاصيت Text آن را برابـر Split قرار دهيد. روي دكمه دو بار كليك كنيد و كد مشخص شده در زير را وارد كنيد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
private void btnSplit_Click(object sender, EventArgs e) { // Declare variable string strData; // Get the text from thew TextBox strData = txtString.Text; // Display the first three characters MessageBox.Show(strData.Substring(0, 3), "Strings"); // Display the middle three characters MessageBox.Show(strData.Substring(3, 3), "Strings"); // Display the last three characters MessageBox.Show( strData.Substring(strData.Length - 3), "Strings"); } |
- برنامه را اجرا كنيد و كلمه Cranberry را در جعبه متني وارد كنيد .
- روي دكمه Split كليك كنيد. سه كادر پيغام متوالي همانند شكل زیر مشاهده خواهيد كرد.
چگونه كار مي كند؟
متد Substring به شما اين امكان را مي دهد تا از هر قسمتي از رشته، يك مجموعه از كاراكتر ها را جدا كنيد . ا
ين متـد بـه دو روش مي تواند فراخواني شود . روش اول اين است كه شماره كاراكتر اول
و تعداد كاراكتر هايي را كه نياز داريد به تابع بدهيد. براي مثال در اولين بار اجراي تابع در برنامه بالا
به ويژوال سی شاپ مي گوييم كه از كاراكتر صفرم (از ابتداي رشته) شـروع كـن و سـه كاراكتر را جدا كن :
1 2 3 4 5 |
// Display the first three characters MessageBox.Show(strData.Substring(0, 3), "Strings"); |
1 2 3 4 5 |
// Display the middle three characters MessageBox.Show(strData.Substring(3, 3), "Strings"); |
اين پارامتر به تابع مي گويد كه از مكان مشخص شده شروع كند و تمام كاراكتر هاي سمت راست آن را جدا كند .
در ايـ ن قـسمت مـي خـواهيم سـه كـاراكتر آخـر رشـته را برگردانيم. بنابراين با استفاده از
خاصيت Length به تابع Substring مي گوييم كه از سه كاراكتر مانده به انتهاي رشـته شروع كن و تمام كاراكتر هاي باقي مانده را برگردان .
1 2 3 4 5 6 7 |
// Display the last three characters MessageBox.Show( strData.Substring(strData.Length - 3), "Strings"); |
قالب بندي رشته ها :
هنگامي كه مي خواهيد با رشته ها كار كنيد، ممكن است نياز داشته باشيد كه نحوه نمايش كاراكتر هـا
بـر صـفحه نمـايش را تغييـر دهيد. مثلا در شكل زیر ، كادر پيغام نتيجه تقسيم را نمايش ميدهد،
اما احتمالا شما به هر ۱۴ رقم اعشار نياز نداريـد و ۲ يـا ۳ رقـم كفايت ميكند !
چيزي كه شما در اين قسمت نياز داريد اين است كه رشته را به گونه اي قالب بندي كنيد
كه تمام كاراكتر هاي سمت چپ مميز و فقط ۲ يا ۳ رقم اعشار را نشان دهد. در بخش امتحان كنيد بعدي اين كار را انجام خواهيم داد :
امتحان كنيد: جايگزيني زيررشته ها
- برنامه Strings را كه قبلا ايجاد كرده بوديد، باز كنيد
- كنترل Button ديگري را به Form1 اضافه كنيد، خاصيت Name آ ن را برابر btnReplace
و خاصيت Text آن را برابر Replace قرار دهيد .
روي دكمه دو بار كليك كنيد و كد مشخص شده در زير را به متد مربـوط به رويداد Click آن اضافه كنيد. -
123456789101112131415161718192021222324252627private void btnReplace_Click(object sender, EventArgs e){// Declare variablesstring strData;string strNewData;// Get the text from the TextBoxstrData = txtString.Text;// Replace the string occurancestrNewData = strData.Replace("Hello", "Goodbye");// Display the new stringMessageBox.Show(strNewData, "Strings");}
- برنامه را اجرا كنيد و جمله !World Hello را در جعبه متني وارد كنيد .
- روي دكمه Replace كليك كنيد. كادر پيغامي را مشاهده خواهيد كرد كه عبـارت !World Goodbye را نمايش مي دهد.
چگونه كار مي كند؟
متد Replace دو رشته را دريافت ميكند و در متن به دنبال رشته اول مي گردد.
سپس در هر قسمتي از مـتن كـه رشـته اول را پيدا كرد آن را با رشته دوم جايگزين مي كند .
بعد از اين كه رشته اول در تمام متن با رشته دوم جايگزين شد، عبارت جديد بـه شـما برگردانده مي شود و مي توانيد آن را نمايش دهيد .
1 2 3 4 5 |
// Replace the string occurance strNewData = strData.Replace("Hello", "Goodbye"); |
با استفاده از اين كد، فقط Hello اول با Goodbye جايگزين نميشود، بلكه ميتوانيد در جعبه متني،
عبارتي را وارد كنيـد كـه چندين Hello داشته باشد . به اين ترتيب تمام Helloهاي متن با Goodbye جايگزين ميشوند.
اما به خاطر داشته باشيد كه كد بالا، كلمه Hello را با Goodbyeجايگزين ميكند
نه كلمه hello را يا هر حالت ديگري. به عبارت ديگر ايـن تابع نسبت به كوچكي يا بزرگي حروف حساس است .
بسیار عالی
تا اینجا هم راه سختی برای یادگیری زبان سی شارپ وجود نداشت احتمالا یک شوق و انگیزه در شما بوجود آمده است.
با قسمت بعدی همراه ما باشید
وبسایت ما را با دوستانتان به اشتراک بگذارید.
c#آموزش 0 تا 100 C#آموزش C Sharpآموزش C#آموزش سی شارپآموزش صفر تا صد C sharpآموزش صفر تا صد سی شارپآموزش مقدماتی تا پیشفرفته سی شارپسی شارپ
دیدگاه بگذارید