جا دادن یک رشته در داخل رشته دیگر

دات نت به شما اجازه می‌دهد که با استفاده از متد Insert یک رشته را در داخل رشته دیگر قرار دهید. به عنوان مثال اگر رشته‌ای مانند !Hello World داشته باشید می‌توانید با استفاده از متد ذکر شده کلمه Happy را در وسط آن قرار دهید و رشته جدیدی مانند !Hello Happy World. ایجاد کنید. کد زیر نحوه استفاده از متد Insert را نشان می‌دهد.

string str1 = "Hello World!";
string str2 = "Happy ";
string result = str1.Insert(6, str2);

Console.WriteLine(result);
Hello Happy World!

متد Insert دو آرگومان قبول می‌کند، اولین آرگومان مکانی که رشته جدید می‌خواهد در آن قرار گیرد و دومین آرگومان خود رشته جدید را نشان می‌دهد. اندیس اولین کاراکتر یک رشته با صفر و اندیس آخرین کاراکتر یک رشته با یک واحد کمتر از طول رشته نمایش داده می‌شود. در رشته !Hello World می‌خواهیم رشته جدید را درست بعد از اولین فضای خالی یعنی جایی که حرف W قرار دارد جای دهیم. به کادر زیر توجه کنید :

H  e  l  l  o     W  o  r  l  d   !
0  1  2  3  4  5  6  7  8  9  10  11

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

اضافه کردن کاراکتر به سمت چپ یا راست یک رشته با استفاده از PadLeft و PadRight

با استفاده از متدهای PadLeft و PadRight می‌توان کاراکتر یا فضاهای خالی را به سمت چپ یا راست رشته‌ها اضافه کرد. به عنوان مثال اگر بخواهید یک سری فضا را به سمت چپ رشته جهت ترازبندی آن اضافه کنید می‌توانید از متد PadLeft استفاده کنید :

string str1 = "Example";
str1 = str1.PadLeft(10);

Console.WriteLine(str1);
   Example

متدهای PadLeft و PadRight آرگومانی را قبول می‌کنند که تعداد کاراکترها یا فضاهای خالی وارد شده را تشخیص می‌دهد. همانطور که در مثال بالا مشاهده کردید عدد 10 ارسال شده باعث ایجاد 3 فضای خالی در سمت چپ رشته می‌شود. برای به دست آوردن مقدار این فضاها یا کاراکترهایی که در سمت چپ یا راست یک رشته قرار می‌گیرند می‌توان از فرمول (تعداد کاراکتر یا فضای خالی – طول رشته) استفاده کرد.
مثلاً در مثال بالا طول رشته Example برابر 7 می‌باشد و زمانی که ما عدد 10 را به عنوان آرگومان ارسال می‌کنیم با استفاده از فرمول 3= 7 – 10 می‌توان فهمید که چند فضای خالی در سمت چپ رشته قرار می‌گیرد (3 فضای خالی). اگر مقدار آرگومانی که به متد PadLeft ارسال می‌شود از طول رشته کمتر باشد هیچ تاثیری بر رشته نهایی ندارد. عمل PadRight نیز شبیه به PadLeft است.

string str1 = "Example";
str1 = str1.PadRight(10);

Console.WriteLine(str1 + "|");
Example   |

همانطور که در مثال بالا مشاهده می‌کنید ما با استفاده از متد PadRight کاراکتر “|” را به سمت راست رشته اضافه کرده‌ایم. یکی دیگر از نسخه‌های این دو متد آرگومان دومی را هم قبول می‌کند که کاراکتر دلخواهی است که به سمت راست یا چپ رشته اضافه می‌شود. به مثال زیر توجه کنید :

string str1 = "Example";
str1 = str1.PadLeft(10, '*');

Console.WriteLine(str1);
***Example

استفاده از متدهای بالا زمانی مفید است که خروجی داده‌ها به صورت جدول باشد. به مثال زیر توجه کنید :

string[,] data = { { "Name", "Gender", "Age" },
                   { "John", "Male", "21" },
                   { "Mark", "Male", "18" },
                   { "Jean", "Female", "18" } };

for (int i = 0; i < data.GetLength(0); i++)
{
    for (int j = 0; j < data.GetLength(1); j++)
    {
        Console.Write(data[i, j].PadRight(10));
    }

    Console.WriteLine();
}
Name      Gender    Age
John      Male      21
Mark      Male      18
Jean      Female    18

در مثال بالا از یک آرایه چند بعدی برای ذخیره داده‌هایمان استفاده کرده‌ایم. اولین ردیف عناوین و ردیف‌های دیگر دادها هستند.