Latihan - Menemukan padding dan perataan
- 12 menit
Metode string.Format() ini digunakan untuk melakukan pemformatan komposit seperti dalam contoh:
string first = "Hello";
string second = "World";
string result = string.Format("{0} {1}!", first, second);
Console.WriteLine(result);
Mungkin tampak agak aneh bahwa kata kunci yang mewakili jenis data memiliki metode yang dapat Anda panggil dengan cara yang sama seperti Anda memanggil metode di Console kelas. Faktanya adalah bahwa ada banyak metode serupa pada string jenis data dan string literal atau variabel string jenis.
Berikut adalah daftar singkat kategori metode bawaan ini sehingga Anda bisa mendapatkan gambaran tentang apa yang mungkin.
- Metode yang menambahkan spasi kosong untuk tujuan pemformatan (
PadLeft(),PadRight()) - Metode yang membandingkan dua string atau memfasilitasi perbandingan (
Trim(), ,TrimStart(),TrimEnd()GetHashcode(),Lengthproperti ) - Metode yang membantu Anda menentukan apa yang ada di dalam string, atau bahkan hanya mengambil bagian dari string (
Contains(), ,StartsWith()EndsWith(),Substring()) - Metode yang mengubah konten string dengan mengganti, menyisipkan, atau menghapus bagian (
Replace(),Insert(),Remove()) - Metode yang mengubah string menjadi array string atau karakter (
Split(),ToCharArray())
Memformat string dengan menambahkan spasi kosong sebelum atau sesudah
Metode menambahkan PadLeft() spasi kosong ke sisi kiri string sehingga jumlah total karakter sama dengan argumen yang Anda kirimkan. Dalam hal ini, Anda ingin panjang total string menjadi 12 karakter.
Hapus atau gunakan operator komentar satu baris
//untuk memberi komentar pada semua kode dari latihan sebelumnya.Perbarui kode Anda di Editor Visual Studio Code sebagai berikut:
string input = "Pad this"; Console.WriteLine(input.PadLeft(12));Pada menu File Visual Studio Code, pilih Simpan. Simpan file Program.cs sebelum membuat atau menjalankan kode.
Di panel EXPLORER, untuk membuka Terminal di lokasi folder TestProject Anda, klik kanan TestProject, lalu pilih Buka di Terminal Terintegrasi. Panel Terminal harus terbuka, dan harus menyertakan perintah yang menunjukkan bahwa Terminal terbuka untuk lokasi folder TestProject Anda.
Pada perintah Terminal, untuk menjalankan kode Anda, ketik dotnet run lalu tekan Enter.
Nota
Jika Anda melihat pesan yang mengatakan "Tidak dapat menemukan proyek untuk dijalankan", pastikan bahwa prompt perintah Terminal menampilkan lokasi folder TestProject yang diharapkan. Misalnya:
C:\Users\someuser\Desktop\csharpprojects\TestProject>Saat menjalankan kode, Anda mengamati empat karakter yang diawali di sebelah kiri string membawa panjang hingga 12 karakter.
Pad thisUntuk menambahkan spasi atau karakter ke sisi kanan string Anda, gunakan metode sebagai gantinya
PadRight(). 1. Perbarui kode Anda di Editor Visual Studio Code sebagai berikut:Console.WriteLine(input.PadRight(12));Simpan file kode Anda, lalu gunakan Visual Studio Code untuk menjalankan kode Anda. Anda tidak akan mengamati karakter apa pun yang ditambahkan ke akhir string, tetapi karakter tersebut ada di sana.
Apa itu metode kelebihan beban?
Dalam C#, metode yang kelebihan beban adalah versi lain dari metode dengan argumen berbeda atau tambahan yang mengubah fungsionalitas metode sedikit, seperti halnya dengan versi metode yang PadLeft() kelebihan beban.
Anda juga dapat memanggil versi metode kedua yang kelebihan beban dan meneruskan karakter apa pun yang ingin Anda gunakan alih-alih spasi. Dalam hal ini, Anda mengisi ruang ekstra dengan karakter tanda hubung.
Hapus atau gunakan operator
//komentar baris untuk mengomentari semua kode dari langkah sebelumnya.Perbarui kode Anda di Editor Visual Studio Code sebagai berikut:
Console.WriteLine(input.PadLeft(12, '-')); Console.WriteLine(input.PadRight(12, '-'));Simpan file kode Anda, lalu gunakan Visual Studio Code untuk menjalankan kode Anda. Anda akan melihat empat tanda hubung awalan sebelah kiri string yang panjangnya 12 karakter.
----Pad this Pad this----
Sekarang, terapkan pengetahuan baru ini ke skenario dunia nyata lainnya.
Bekerja dengan string berlapis
Misalkan Anda bekerja untuk perusahaan pemrosesan pembayaran yang masih mendukung sistem mainframe warisan. Seringkali, sistem tersebut memerlukan data untuk dimasukkan dalam kolom tertentu. Misalnya, simpan ID Pembayaran di kolom 1 hingga 6, nama penerima pembayaran di kolom 7 hingga 30, dan Jumlah Pembayaran di kolom 31 hingga 40. Selain itu, yang penting, Jumlah Pembayaran selaras dengan tepat.
Anda diminta untuk membangun aplikasi yang akan mengonversi data dalam sistem manajemen database relasional ke format file warisan. Untuk memastikan bahwa integrasi berfungsi dengan benar, langkah pertama adalah mengonfirmasi format file dengan memberi sistem warisan sebagai sampel output. Kemudian, Anda membangun pekerjaan ini untuk mengirim ratusan atau ribuan pembayaran yang akan diproses melalui file teks ASCII.
Menambahkan ID Pembayaran ke output
Untuk memulai, cetak ID Pembayaran di enam kolom pertama. Anda memilih beberapa data pembayaran acak yang harus memadai untuk tujuan tersebut.
Hapus atau gunakan operator
//komentar baris untuk mengomentari semua kode dari langkah sebelumnya.Perbarui kode Anda di Editor Visual Studio Code sebagai berikut:
string paymentId = "769C"; var formattedLine = paymentId.PadRight(6); Console.WriteLine(formattedLine);Gunakan kembali
formattedLinevariabel untuk membangun string output.Simpan file kode Anda, lalu gunakan Visual Studio Code untuk menjalankan kode Anda. Anda akan melihat output berikut:
769C
Ada dua spasi kosong di sebelah kanan yang tidak terlihat. Anda akan mengonfirmasi bahwa mereka ada di langkah berikutnya.
Menambahkan nama penerima pembayaran ke output
Selanjutnya, Anda menambahkan Nama Penerima Pembayaran fiktif, dengan padding dengan tepat.
Perbarui kode Anda di Editor Visual Studio Code sebagai berikut:
string paymentId = "769C"; string payeeName = "Mr. Stephen Ortega"; var formattedLine = paymentId.PadRight(6); formattedLine += payeeName.PadRight(24); Console.WriteLine(formattedLine);Operator
+=melakukan perangkaian string, mengambil nilai sebelumnya dari variabelformattedLinedan menambahkan nilai baru ke dalamnya. Ini adalah contoh kode berikut yang setara dengan yang dipersingkat:formattedLine = formattedLine + payeeName.PadRight(24);Simpan file kode Anda, lalu gunakan Visual Studio Code untuk menjalankan kode Anda. Anda akan melihat output berikut:
769C Mr. Stephen Ortega
Sekali lagi, ada beberapa ruang kosong setelah Nama Penerima Pembayaran. Selain itu, ada dua spasi kosong setelah ID Pembayaran dari Langkah 1.
Menambahkan jumlah pembayaran ke output
Selanjutnya, tambahkan Jumlah Pembayaran fiktif dan pastikan untuk menggunakan PadLeft() untuk menyelaraskan output dengan benar.
Perbarui kode Anda di Editor Visual Studio Code sebagai berikut:
string paymentId = "769C"; string payeeName = "Mr. Stephen Ortega"; string paymentAmount = "$5,000.00"; var formattedLine = paymentId.PadRight(6); formattedLine += payeeName.PadRight(24); formattedLine += paymentAmount.PadLeft(10); Console.WriteLine(formattedLine);Simpan file kode Anda, lalu gunakan Visual Studio Code untuk menjalankan kode Anda. Anda akan melihat output berikut:
769C Mr. Stephen Ortega $5,000.00
Output ini cukup dekat dengan apa yang Anda pahami yang dicari oleh penjaga sistem warisan.
Tambahkan baris angka di atas output untuk lebih mudah mengonfirmasi hasilnya
Karena sulit untuk menghitung kolom yang tepat tempat setiap elemen data muncul, Anda menambahkan baris tepat di atas output yang membantu Anda menghitung kolom.
Console.WriteLine("1234567890123456789012345678901234567890");
Perbarui kode Anda di Editor Visual Studio Code sebagai berikut:
string paymentId = "769C"; string payeeName = "Mr. Stephen Ortega"; string paymentAmount = "$5,000.00"; var formattedLine = paymentId.PadRight(6); formattedLine += payeeName.PadRight(24); formattedLine += paymentAmount.PadLeft(10); Console.WriteLine("1234567890123456789012345678901234567890"); Console.WriteLine(formattedLine);Simpan file kode Anda, lalu gunakan Visual Studio Code untuk menjalankan kode Anda. Anda akan melihat output berikut, yang dapat Anda kirim ke penjaga sistem warisan untuk mengonfirmasi bahwa integrasi baru berfungsi dengan benar:
1234567890123456789012345678901234567890 769C Mr. Stephen Ortega $5,000.00
Keberhasilan!
Ringkasan
Ada beberapa pengamanan penting dari unit ini.
- Jenis
stringdata, string harfiah, dan variabel string jenis masing-masing mengimplementasikan banyak metode pembantu untuk memformat, memodifikasi, dan melakukan operasi lain pada string. - Metode
PadLeft()danPadRight()menambahkan spasi kosong (atau secara opsional, karakter lain) ke panjang total string. - Gunakan
PadLeft()untuk meratakan kanan string. - Beberapa metode kelebihan beban, yang berarti mereka memiliki beberapa versi metode dengan argumen berbeda yang memengaruhi fungsionalitasnya.
- Operator
+=menggabungkan string baru di sebelah kanan ke string yang ada di sebelah kiri.
Uji pengetahuan Anda
Saran dan Komentar
Apakah halaman ini membantu?
Tidak
Perlu bantuan dengan topik ini?
Ingin mencoba menggunakan Ask Learn untuk mengklarifikasi atau memandu Anda melalui topik ini?