رشته ها (Strings) در سی شارپ

رشته ها (Strings) در سی شارپ

زمان مطالعه

5 دقیقه

تعداد بازدید

381

تعداد پرسش ها

0

افزودن به لیست علاقه مندی ها


برچسب ها :

نکات سی شارپ

اشتراک گذاری این مطلب

رشته ها (Strings) در سی شارپ

رشته ها برای ذخیره متن استفاده می شوند.

یک متغیر رشته ای شامل مجموعه ای از کاراکترهای احاطه شده توسط نقل قول های دوگانه است:

string greeting = "Hello";

طول رشته(String Length) 

یک رشته در سی شارپ در واقع یک شی است ، که دارای ویژگی ها و تابع هایی است که می تواند عملیات خاصی را روی رشته ها انجام دهد. به عنوان مثال ، طول یک رشته را می توان با ویژگی Length یافت:

string txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
Console.WriteLine("The length of the txt string is: " + txt.Length);

دیگر تابع ها

تابع رشته ای زیادی وجود دارد ، به عنوان مثال ToUpper و ToLower ، که یک کپی از رشته تبدیل شده به بزرگ یا کوچک را برمی گرداند

string txt = "Hello World";
Console.WriteLine(txt.ToUpper());
Console.WriteLine(txt.ToLower());

الحاق رشته ها

از عملگر + می توان بین رشته ها برای ترکیب آنها استفاده کرد. به مثال ذیل دقت کنید

string firstName = "John ";
string lastName = "Doe";
string name = firstName + lastName;
Console.WriteLine(name);

توجه داشته باشید که ما برای ایجاد فاصله بین firstName و lastName چاپ روی صفحه ، فضایی بعد از "John" اضافه کرده ایم.

همچنین می توانید از تابع string.Concat برای اتصال دو رشته استفاده کنید

string firstName = "John ";
string lastName = "Doe";
string name = string.Concat(firstName, lastName);
Console.WriteLine(name);

string interpolation

گزینه دیگر الحاق رشته ،string interpolation است که مقادیر متغیرها را به جای متغیرهای یک رشته جایگزین می کند. توجه داشته باشید که لازم نیست نگران فضاهایی مانند محل اتصال باشید 

string firstName = "John";
string lastName = "Doe";
string name = $"My full name is: {firstName} {lastName}";
Console.WriteLine(name);

همچنین توجه داشته باشید که هنگام استفاده از تابع string interpolation ، باید از علامت دلار ($) استفاده کنید.

string interpolation در نسخه  سی شارپ6 معرفی شد

دسترسی به رشته ها

با مراجعه به اندیس  آن در داخل براکت ها می توانید به نویسه ها در یک رشته دسترسی پیدا کنید [ ] 

این مثال اولین کاراکتر را در رشته myString چاپ می کند

string myString = "Hello";
Console.WriteLine(myString[0]);

توجه: شاخص های رشته با 0 شروع می شوند: [0] اولین کاراکتر است. [1] کاراکتر دوم است

این مثال کاراکتر دوم (1) را در myString چاپ می کند

string myString = "Hello";
Console.WriteLine(myString[1]);

با استفاده از تابع () IndexOf می توانید اندیس یک کاراکتر خاص را در یک رشته پیدا کنید

string myString = "Hello";
Console.WriteLine(myString.IndexOf("e"));

تابع مفید دیگر Substring است که کاراکترها را از یک رشته استخراج می کند و از موقعیت / شاخص کاراکتر مشخص شده شروع می کند و یک رشته جدید را برمی گرداند. این روش اغلب همراه با () IndexOf برای بدست آوردن موقعیت مشخص کاراکتر استفاده می شود

string name = "John Doe";
int charPos = name.IndexOf("D");
string lastName = name.Substring(charPos);
Console.WriteLine(lastName);

کاراکتر های خاص

از آنجا که رشته ها باید درون نقل قول ها نوشته شوند ، سی شارپ این رشته را اشتباه درک می کند و خطایی ایجاد می کند

string txt = "We are the so-called "Vikings" from the north.";

راه حل برای جلوگیری از این مشکل ، استفاده از کاراکتر backslash است.

کاراکتر backslash ( \ ) باعث تبدیل کاراکترهای خاص به کاراکترهای رشته ای می شود

توالی \ "نقل قول مضاعف را در یک رشته وارد می کند

string txt = "We are the so-called \"Vikings\" from the north.";

دنباله \ 'یک نقل قول واحد را در یک رشته وارد می کند:

string txt = "It\'s alright.";

دنباله \\ یک بک اسلش واحد را در یک رشته وارد می کند:

string txt = "The character \\ is called backslash.";

سایر نویسه های escape مفید در سی شارپ عبارتند از:

اضافه کردن شماره و رشته

هشدار سی شارپ از عملگر + برای جمع و الحاق استفاده می کند.

به یاد داشته باشید: اعداد اضافه می شوند. رشته ها بهم می پیوندند.

اگر دو عدد اضافه کنید ، نتیجه یک عدد خواهد بود:

int x = 10;
int y = 20;
int z = x + y;

اگر دو رشته اضافه کنید ، نتیجه یک جمع بندی رشته خواهد بود:

string x = "10";
string y = "20";
string z = x + y;)

تمارین رشته ها در سی شارپ:

بدست اوردن اخرین کاراکتر یک رشته:

using System;

namespace ConsoleApp32
{
    class Program
    {
        static void Main(string[] args)
        {
            string mystring = "Mahdi";
            String result = mystring.Substring(mystring.Length - 1);
            Console.WriteLine(result);
        }
    }
}

برعکس کردن رشته:

using System;

class GFG
{

    static void rvereseArray(int[] arr,
                    int start, int end)
    {
        int temp;

        while (start < end)
        {
            temp = arr[start];
            arr[start] = arr[end];
            arr[end] = temp;
            start++;
            end--;
        }
    }
    static void printArray(int[] arr,
                            int size)
    {
        for (int i = 0; i < size; i++)
            Console.Write(arr[i] + " ");

        Console.WriteLine();
    }
    public static void Main()
    {
        int[] arr = { 1, 2, 3, 4, 5, 6 };
        printArray(arr, 6);
        rvereseArray(arr, 0, 5);
        Console.Write("Reversed array is \n");
        printArray(arr, 6);
    }
}

پیدا کردن تعداد هر کاراکتر :

using System;
using System.Collections.Generic;
using System.Text;

namespace CharCounter
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Clear();
            string text = Console.ReadLine();
            int[] charset = new int[256];
            for (int i = 0; i < text.Length; i++)
                if (text[i] < 256)
                    charset[text[i]]++;
            for (int i = 0; i < 256; i++)
                if (charset[i] > 0)
                    Console.WriteLine(Convert.ToChar(i) + " " + charset[i]);
            Console.ReadKey(true);
        }
    }
}

پیدا کردن یک کاراکتر در یک رشته:

using System;

namespace CharCounter
{
    class Program
    {
        static void Main(string[] args)
        {
            String s = "2222+2222";

            if (s.Contains("+"))
            {
                Console.WriteLine("Hi");
            }
        }
    }
}

 


پرسش و پاسخ
0
دوره پیشنهادی
دوره پیشنهادی