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; span>
|
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 S plit() 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
String S |
H |
e |
l |
l |
o |
Indeks |
S[0] |
S[1] |
S[2] |
S[3] |
S[4] |
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.
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]=" ";
|
|