Menguasai String C#: Dasar, Operasi, dan Teknik Lanjutan
Menguasai String C#: Dasar, Operasi & Teknik Lanjutan
Dalam tutorial ini, kita akan mempelajari string C# dan metodenya dengan bantuan contoh.
Di C#, string adalah urutan karakter. Misalnya, "hello" adalah string yang berisi urutan karakter 'h', 'e', 'l', 'l', dan 'o'.
Kita menggunakan kata kunci string untuk membuat string. Misalnya,
// membuat string string str = "C# Programming";
Di sini, kita telah membuat string bernama str dan menugaskan teks "C# Programming". Kita menggunakan tanda kutip ganda untuk mewakili string di C#.
Contoh: Membuat string di C#
using System; namespace CsharpString { class Test { public static void Main(string[] args) { // membuat string string str1 = "C# Programming"; string str2 = "Programiz"; // mencetak string Console.WriteLine(str1); Console.WriteLine(str2); Console.ReadLine(); } } }
Output
C# Programming Programiz
Dalam contoh di atas, kita telah membuat dua string bernama str1 dan str2 dan mencetaknya.
Catatan: Variabel string di C# bukan tipe primitif seperti int, char, dll. Sebaliknya, ini adalah objek dari kelas String.
Operasi String
String C# menyediakan berbagai metode untuk melakukan operasi berbeda pada string. Kita akan melihat beberapa operasi string yang sering digunakan.
1. Mendapatkan Panjang String
Untuk menemukan panjang string, kita menggunakan properti Length. Misalnya,
using System; namespace CsharpString { class Test { public static void Main(string[] args) { // membuat string string str = "C# Programming"; Console.WriteLine("string: " + str); // mendapatkan panjang str int length = str.Length; Console.WriteLine("Length: " + length); Console.ReadLine(); } } }
Output
string: C# Programming Length: 14
Dalam contoh di atas, properti Length menghitung total karakter dalam string dan mengembalikannya.
2. Menggabungkan Dua String di C#
Kita dapat menggabungkan dua string di C# menggunakan metode Concat(). Misalnya,
using System; namespace CsharpString { class Test { public static void Main(string[] args) { // membuat string string str1 = "C# "; Console.WriteLine("string str1: " + str1); // membuat string string str2 = "Programming"; Console.WriteLine("string str2: " + str2); // menggabungkan dua string string joinedString = string.Concat(str1, str2); Console.WriteLine("Joined string: " + joinedString); Console.ReadLine(); } } }
Output
string str1: C# string str2: Programming Joined string: C# Programming
Dalam contoh di atas, kita telah membuat dua string bernama str1 dan str2. Perhatikan pernyataan,
string joinedString = string.Concat(str1, str2);
Di sini, metode Concat() menggabungkan str1 dan str2 dan menugaskannya ke variabel joinedString.
Kita juga dapat menggabungkan dua string menggunakan operator + di C#. Untuk mempelajari lebih lanjut, kunjungi C# string Concat.
3. Membandingkan Dua String di C#
Di C#, kita dapat membuat perbandingan antara dua string menggunakan metode Equals(). Metode Equals() memeriksa apakah dua string sama atau tidak. Misalnya,
using System; namespace CsharpString { class Test { public static void Main(string[] args) { // membuat string string str1 = "C# Programming"; string str2 = "C# Programming"; string str3 = "Programiz"; // membandingkan str1 dan str2 Boolean result1 = str1.Equals(str2); Console.WriteLine("string str1 and str2 are equal: " + result1); // membandingkan str1 dan str3 Boolean result2 = str1.Equals(str3); Console.WriteLine("string str1 and str3 are equal: " + result2); Console.ReadLine(); } } }
Output
string str1 and str2 are equal: True string str1 and str3 are equal: False
Dalam contoh di atas, kita telah membuat 3 string bernama str1, str2, dan str3. Di sini, kita menggunakan metode Equals() untuk memeriksa apakah satu string sama dengan string lain.
Keimutabelan Objek String
Di C#, string bersifat immutable. Ini berarti, setelah kita membuat string, kita tidak dapat mengubah string tersebut.
Untuk memahaminya, pertimbangkan contoh ini:
// membuat string string str = "Hello ";
Di sini, kita telah membuat variabel string bernama str. Variabel tersebut menampung string "Hello ".
Sekarang misalnya kita ingin mengubah string str.
// menambahkan string lain "World" // ke contoh string sebelumnya str = string.Concat(str, "World");
Di sini, kita menggunakan metode Concat() untuk menambahkan string "World" ke string sebelumnya str.
Tapi bagaimana kita dapat mengubah string ketika mereka immutable?
Mari kita lihat apa yang telah terjadi,
- C# mengambil nilai dari string
"Hello ". - Membuat string baru dengan menambahkan
"World" ke string "Hello ". - Membuat objek string baru, memberikan nilai
"Hello World", dan menyimpannya di str. - String asli,
"Hello ", yang sebelumnya ditugaskan ke str dirilis untuk garbage collection karena tidak ada variabel lain yang memiliki referensi padanya.
Escape Sequence String
Karakter escape digunakan untuk melarikan beberapa karakter yang ada di dalam string. Dengan kata lain, kita menggunakan escape sequence untuk memasukkan karakter khusus di dalam string.
Misalnya kita perlu menyertakan tanda kutip ganda di dalam string.
// menyertakan tanda kutip ganda string str = "This is the "String" class";
Karena string direpresentasikan oleh tanda kutip ganda, kompiler akan memperlakukan "This is the " sebagai string. Dan kode di atas akan menyebabkan kesalahan.
Untuk mengatasi masalah ini, kita menggunakan karakter escape \" di C#. Misalnya,
// menggunakan karakter escape string str = "This is the \"String\" class.";
Sekarang dengan menggunakan \ sebelum tanda kutip ganda ", kita dapat menyertakannya di dalam string.
Beberapa escape sequence di C# adalah sebagai berikut:
| Escape Sequence | Nama Karakter |
\' | single quote |
\" | double quote |
\\ | backslash |
\0 | null |
\n | new line |
\t | horizontal tab |
String Interpolation
Di C#, kita dapat menggunakan string interpolation untuk menyisipkan variabel di dalam string. Untuk string interpolation, literal string harus dimulai dengan karakter $. Misalnya,
using System; namespace CsharpString { class Test { public static void Main(string[] args) { // membuat string string name = "Programiz"; // string interpolation string message = $"Welcome to {name}"; Console.WriteLine(message); Console.ReadLine(); } } }
Output
Welcome to Programiz
Dalam contoh di atas, kita menggunakan variabel name di dalam string message.
string message = $"Welcome to {name}";
Perhatikan bahwa,
- literal string dimulai dengan
$ - variabel name ditempatkan di dalam kurung kurawal
{}
Metode String C#
Ada berbagai metode string di C#. Beberapa di antaranya adalah sebagai berikut:
| Metode | Deskripsi |
Format() | mengembalikan string yang diformat |
Split() | membagi string menjadi substring |
Substring() | mengembalikan substring dari string |
Compare() | membandingkan objek string |
Replace() | mengganti karakter lama yang ditentukan dengan karakter baru yang ditentukan |
Contains() | memeriksa apakah string mengandung substring |
Join() | menggabungkan string yang diberikan menggunakan pemisah yang ditentukan |
Trim() | menghapus spasi putih di awal dan akhir |
EndsWith() | memeriksa apakah string diakhiri dengan string yang diberikan |
IndexOf() | mengembalikan posisi karakter yang ditentukan dalam string |
Remove() | mengembalikan karakter dari string |
ToUpper() | mengubah string menjadi huruf besar |
ToLower() | mengubah string menjadi huruf kecil |
PadLeft() | mengembalikan string yang dipadatkan dengan spasi atau karakter Unicode yang ditentukan di kiri |
PadRight() | mengembalikan string yang dipadatkan dengan spasi atau karakter Unicode yang ditentukan di kanan |
StartsWith() | memeriksa apakah string dimulai dengan string yang diberikan |
ToCharArray() | mengubah string menjadi array char |
LastIndexOf() | mengembalikan indeks kemunculan terakhir dari string yang ditentukan |
Pertanyaan yang Sering Diajukan
1. Bagaimana cara membuat array string di C#?
Array string dibuat sama seperti array untuk tipe data. Misalnya,
using System; namespace CsharpString { class Test { public static void Main(string[] args) { // array of string type string[] animals = {"Monkey", "Dog", "Cat"}; // print array elements Console.WriteLine(animals[0]); Console.WriteLine(animals[1]); Console.WriteLine(animals[2]); Console.ReadLine(); } } }
Output
Monkey Dog Cat
2. Perbedaan antara string dan String di C#
Tidak ada perbedaan teknis antara string dan String. Di C# string adalah alias untuk System.String.
Direkomendasikan untuk menggunakan string karena berfungsi bahkan tanpa using System;.