String. Gambaran keseluruhan.

String ialah senarai (atau jujukan) aksara dalam susunan tertentu. Seluruh jujukan aksara dianggap sebagai satu objek.

Watak ialah apa sahaja yang anda boleh taip pada papan kekunci dengan satu ketukan kekunci (huruf, nombor, terbalik garis miring atau beberapa aksara lain).
Rentetan boleh mempunyai ruang: "Hello dunia!".
Rentetan kosong ialah rentetan yang mempunyai 0 aksara.
C sharp menerima sebagai rentetan semua yang ditulis dalam petikan (""), rentetan adalah daripada jenis rentetan.

Penting untuk diingat: rentetan dalam C# tidak boleh diubah.

Anda boleh menulis nilai baharu pada rentetan menggunakan operator input:
rentetan s = Console.ReadLine(); Anda juga boleh memberikan nilai rentetan kepada pembolehubah, contohnya:< /span > string s = "C sharp"; Anda boleh menentukan panjang rentetan seperti ini: int n = s.Length;


Perbandingan rentetan. Rentetan boleh dibandingkan antara satu sama lain sama seperti nombor. Anda boleh menentukan baris mana yang lebih besar, yang mana lebih sedikit.

Apabila membandingkan rentetan, kod aksara dibandingkan. Terdapat berpuluh-puluh, jika tidak beratus-ratus, pengekodan aksara. Cara paling mudah untuk memahami konsep ini ialah memahami salah satu yang paling mudah, ASCII (anda boleh membaca tentangnya di sini< /a>) . 
Adalah perlu untuk memahami bahawa dalam pengekodan moden kedua-dua huruf Rusia dan Inggeris disusun dalam susunan abjad, nombor juga berubah daripada yang lebih kecil kepada yang lebih besar. 
Contohnya, dalam jadual kod ASCII, kod untuk huruf Inggeris 'A' - 65, huruf 'a' - 97, digit '0' mempunyai kod 48. Huruf Rusia terletak di bahagian lanjutan jadual kod ASCII (nombor dari 128 hingga 255). Huruf besar didahulukan (iaitu mempunyai kod yang lebih kecil) daripada huruf kecil.
Dalam kebanyakan jadual pengekodan yang digunakan, coraknya adalah sama, huruf kecil lebih lewat daripada huruf besar, nombor lebih awal daripada huruf dan huruf Rusia lebih lewat daripada huruf Inggeris.
Apabila membandingkan aksara atau rentetan, C# menukar aksara kepada nilai ordinal masing-masing dan kemudian membandingkan dari kiri ke kanan. 

Contohnya: "lokomotif" < "steamboat", kerana perkataan berbeza dalam huruf kelima dan "dalam" < "x".

Apabila memasukkan rentetan, anda boleh membahagikannya dengan segera kepada bahagian dengan mana-mana pemisah.
Kami telah melakukan ini sebelum ini apabila kami memasukkan berbilang pembolehubah berangka pada baris yang sama. Kami menggunakan kaedah Split() untuk memisahkan rentetan kepada bahagian. Secara lalai, ia memisahkan rentetan kepada subrentetan mengikut ruang.
Menggunakan kaedah ini, anda boleh membahagikan rentetan kepada bahagian, contohnya, mengikut ruang. Dan tulis setiap bahagian rentetan ke dalam pembolehubah yang berasingan.
Contoh: string[] S = Console.ReadLine().Split(); Dalam contoh, apabila memasukkan dua perkataan yang dipisahkan oleh ruang, perkataan pertama disimpan dalam unsur sifar tatasusunan s[0], yang kedua - dalam s[1] kedua.

Jika anda perlu menggunakan beberapa aksara sebagai pemisah, anda boleh menentukannya dipisahkan dengan koma:
  rentetan[] S = Console.ReadLine().Split(baharu[] { ' ', '\n' });  Jika terdapat beberapa ruang berturut-turut dalam rentetan input, maka ruang juga boleh muncul dalam tatasusunan akhir, untuk mengecualikan ini, anda perlu menambah parameter: string[] S = Console.ReadLine().Split(new[] { ' ', '\n' }, StringSplitOptions.RemoveEmptyEntries); Jika anda perlu menggunakan pembatas subrentetan: string[] S = Console.ReadLine().Split(new[] { "\\r\\n", "\r", "\n", "" }, StringSplitOptions.RemoveEmptyEntries);

Rentetan boleh ditambah bersama menggunakan tanda "+". Operasi ini dipanggil penggabungan rentetan atau penggabungan
Contohnya,  string s = "Hai,"; rentetan s1 = "dunia"; Console.WriteLine(s + s1); Skrin akan memaparkan frasa "Hello world" (tanpa petikan).
 

Merujuk indeks baris
Setiap aksara dalam rentetan mempunyai nombor (dipanggil indeks), dan pengindeksan dalam bahasa pengaturcaraan C# bermula dari sifar. Iaitu, aksara pertama mempunyai indeks 0, kedua - 1, dan seterusnya.
Aksara rentetan boleh diakses oleh indeks, yang ditunjukkan dalam kurungan segi empat sama s[i].
 
Contoh 

Penting!
Apabila mengakses elemen rentetan pada indeks i, jenis s[i] bukan string tetapi char. Ini bermakna bahawa ini bukan rentetan, tetapi aksara yang sepadan dengan beberapa integer dalam jadual kod aksara. Khususnya, apabila anda menambah dua elemen jenis char , anda mendapat integer - penambahan kod elemen ini. Walau bagaimanapun, jika anda memaparkan s[i], aksara i-th rentetan akan dipaparkan, bukan nombor yang sepadan dengannya. 

String S H e l l o
Indeks S[0] S[1] S[2] S[3] S[4]
Oleh kerana aksara boleh diakses melalui indeks, gelung pembolehubah boleh digunakan untuk mengulang semua aksara , yang akan mengambil kemungkinan nilai indeks. Sebagai contoh, program yang memaparkan semua kod aksara rentetan s akan kelihatan seperti ini: untuk (int i = 0; i < s.Length; i++) {   Console.WriteLine(s[i]); Console.WriteLine(Convert.ToInt32(s[i])); } Nota program:
1) s.Length mencari panjang rentetan. Indeks aksara pertama ialah 0 dan indeks yang terakhir ialah s.Length-1. Pembolehubah gelung i hanya akan mengambil nilai secara berurutan daripada 0 kepada 
s.Length-1;
2) dalam setiap baris, simbol itu sendiri akan dipaparkan dahulu, dan kemudian kodnya, yang boleh diperolehi melalui kaedah  Convert.ToInt32();

Penghitungan yang sama boleh ditulis dengan lebih pendek:


foreach (char c in s)

    Console.WriteLine(c);
    Console.WriteLine(Convert.ToInt32(c));
}
Dalam coretan ini, pengepala gelung bergelung melalui semua s aksara, meletakkan satu demi satu ke dalam pembolehubah c. Keanehan C# apabila bekerja dengan rentetan ialah rentetan ialah objek tidak berubah. Dalam erti kata lain, kita tidak boleh menukar aksara individu bagi rentetan.
Sebagai contoh, pernyataan berikut tidak akan berfungsi:
s[5]=" ";