Latihan - Menemukan padding dan perataan

Selesai

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 tipe data memiliki metode yang dapat Anda panggil dengan cara yang sama seperti memanggil metode pada kelas Console. 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(), Length properti )
  • Metode yang membantu Anda menentukan apa yang ada di dalam string, atau bahkan mengambil hanya sebagian 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 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.

  1. Hapus atau gunakan operator // komentar baris untuk mengomentari semua kode dari latihan sebelumnya.

  2. Perbarui kode Anda di Editor Visual Studio Code sebagai berikut:

     string input = "Pad this";
     Console.WriteLine(input.PadLeft(12));
    
  3. Pada menu File Visual Studio Code, pilih Simpan. Simpan file Program.cs sebelum membuat atau menjalankan kode.

  4. 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.

  5. Pada perintah Terminal, untuk menjalankan kode Anda, ketik dotnet run lalu tekan Enter.

    Catatan

    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 this
    
  6. Untuk menambahkan spasi atau karakter ke sisi kanan string Anda, gunakan metode PadRight() sebagai gantinya. 1. Perbarui kode Anda di Editor Visual Studio Code sebagai berikut:

     Console.WriteLine(input.PadRight(12));
    
  7. 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 metode versi kelebihan beban kedua dan meneruskan karakter apa pun yang ingin Anda gunakan sebagai ganti spasi. Dalam hal ini, Anda mengisi ruang ekstra dengan karakter tanda hubung.

  1. Hapus atau gunakan operator // komentar baris untuk mengomentari semua kode dari langkah sebelumnya.

  2. Perbarui kode Anda di Editor Visual Studio Code sebagai berikut:

     Console.WriteLine(input.PadLeft(12, '-'));
     Console.WriteLine(input.PadRight(12, '-'));
    
  3. 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 membutuhkan data untuk dimasukkan ke 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.

  1. Hapus atau gunakan operator // komentar baris untuk mengomentari semua kode dari langkah sebelumnya.

  2. Perbarui kode Anda di Editor Visual Studio Code sebagai berikut:

     string paymentId = "769C";
    
     var formattedLine = paymentId.PadRight(6);
    
     Console.WriteLine(formattedLine);
    

    Gunakan kembali formattedLine variabel untuk membangun string output.

  3. Simpan file kode Anda, lalu gunakan Visual Studio Code untuk menjalankan kode Anda. Anda akan menemukan 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.

  1. 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 rangkaian string, mengambil nilai sebelumnya dari variabel formattedLine dan menambahkan nilai baru ke dalamnya. Ini adalah contoh kode berikut yang setara dengan yang dipersingkat:

     formattedLine = formattedLine + payeeName.PadRight(24);
    
  2. Simpan file kode Anda, lalu gunakan Visual Studio Code untuk menjalankan kode Anda. Anda akan menemukan 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.

  1. 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);
    
  2. Simpan file kode Anda, lalu gunakan Visual Studio Code untuk menjalankan kode Anda. Anda akan menemukan 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");
  1. 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);
    
  2. 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
    

Berhasil!

Rekap

Ada beberapa takeaways penting dari unit ini.

  • Tipe data string, string literal, dan variabel jenis string masing-masing menerapkan banyak metode pembantu untuk memformat, memodifikasi, dan melakukan operasi lain pada string.
  • Metode PadLeft() dan PadRight() menambahkan spasi (atau opsional, karakter lain) ke total panjang string.
  • Gunakan PadLeft() untuk meratakan kanan string.
  • Beberapa metode kelebihan beban, artinya metode tersebut 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

1.

Mengingat string myWords = "Learning C#", apa deskripsi output terbaik untuk Console.WriteLine(myWords.PadLeft(12));?