String pada C#

String adalah tipe data yang sangat banyak digunakan. Sehingga string menjadi suatu tipe data yang penting. Berikut adalah beberapa kode yang berguna terkait dengan string:

Substring pada C#

Substring adalah suatu method yang berguna untuk mengamil sebagian string. Pada C#, Substring adalah method dari objek-objek String:

[suatuString].Substring([mulai], [banyakKarakter]);

Mulai adalah posisi mula bagian string yang akan diambil. Posisi ini berindex mulai dari nol. Banyak karakter bersifat opsional. Jika banyak karakter tidak disertakan, Substring akan mengambil semua karakter dimulai dari posisi mulai. Berikut adalah contoh penggunaan Substring:

  class Program {
    static void Main(string[] args) {
      string kode = "P201203CX021";
      string strTahun = kode.Substring(1, 4);
      string strBulan = kode.Substring(5, 2);
      string lokasi = kode.Substring(7, 2);
      string strNo = kode.Substring(9);

      Console.WriteLine(strTahun); //2012
      Console.WriteLine(strBulan); //03
      Console.WriteLine(lokasi);   //CX
      Console.WriteLine(strNo);    //021
      Console.ReadKey();
    }
  }

String.Format pada C#

Ada banyak kasus ketika kita perlu merepresentasikan suatu tanggal atau angka dengan bentuk-bentuk yang berbeda. Kita mungkin perlu memformat suatu tanggal ke dalam format SQL, atau kita mungkin perlu menampilkan harga dengan titik pemisah ribuan. Untuk tujuan-tujuan ini, method Format sangat berguna. Syntax untuk method Format adalah:

suatuString.Format( [formatString], objTarget );
suatuString.Format( [FormatProvider], [formatString], objTarget );
suatuString.Format( [formatString], [ArrayObject] );

Ada beberapa cara lain untuk menggunakan method Format, tetapi method-mehod di atas sudah cukup untuk mewakili mereka. Contoh penggunaan String.Format:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Globalization;

namespace Learning3 {
  class Program {
    static void Main(string[] args) {
      DateTime sekarang = DateTime.Now;
      string strSekarang = string.Format("Tanggal sekarang: {0:yyyy-MM-dd}", sekarang);
      Console.WriteLine(strSekarang);

      double harga = 45.99;
      string strHarga = string.Format("{0:C3}", harga);
      Console.WriteLine(strHarga); //$45.990

      double hargaId = 29000;
      CultureInfo id = new CultureInfo("id-ID");
      string strHargaId = string.Format(id, "{0:C}", hargaId);
      Console.WriteLine(strHargaId); //Rp.29.000

      double pecahan = 23.0 / 3.0;
      string strPecahan = string.Format("{0:N3}", pecahan);
      Console.WriteLine(strPecahan); //7.669

      double persen = 0.125;
      string strPersen = string.Format("{0:P}", persen);
      Console.WriteLine(strPersen); //12.50 %

      string gabungan = string.Format("tanggal: {0:dd MMMM yyyy}, harga: {1:C}, diskon: {2:P}", new object[] { sekarang, hargaId, persen });
      Console.WriteLine(gabungan); //Tanggal: 29 October 2013, harga: $29,000.00, diskon: 12.50 %
      Console.ReadKey();
    }
  }
}

Perhatikan bahwa kita menambahkan perintah "using System.Globalization" di atas namespace untuk menggunakan namespace System.Globalization. Kita menambahkan baris ini agar kita dapat merujuk ke class System.Globalization.CultureInfo dengan mengetik hanya CultureInfo saja, daripada nama panjangnya (System.Globalization.CultureInfo).

FormatString pada contoh di atas adalah:

  • Memformat tanggal, yyyy mewakili tahun, MM mewakili bulan dalam dua digit, dd mewakili tanggal, pada contoh terakhir, MMMM mewakili nama lengkap suatu bulan.
  • Memformat angka, N mewakili angka. N0 mewakili angka tanpa desimal, N2 mewakili angka dengan dua desimal.
  • Memformat uang, C mewakili mata uang. C2 mewakili mata uang dengan dua desimal.
  • Memformat persen, P mewakili persen.

Kurung kurawal adalah posisi dimana variabel yang telah diformat akan ditempatkan. Contoh ketiga menunjukkan hal ini. Variabel sekarang, hargaId dan persen akan diformat dan ditempatkan pada kurung kurawal bernomor 0, 1, dan 2 secara berurutan.

Split and Join pada string di C#

Terkadang ketika membuat suatu program, kita perlu memecah suatu string menjadi potongan potongan string, atau sebaliknya, menggabungkan mereka. Berikut adalah contoh memecah dan menggabungkan string:

  class Program {
    static void Main(string[] args) {
      string kalimat = "Sukses datang kepada mereka yang berkerja keras.";
      string[] katakata = kalimat.Split(' ');
      foreach (string kata in katakata) {
        Console.WriteLine(kata);
      }

      int[] deret = { 1, 2, 4, 8, 16, 32 };
      string strDeret = string.Join(" + ", deret);
      Console.WriteLine(strDeret); //1 + 2 + 4 + 8 + 16 + 32

      Console.ReadKey();
    }
  }

Saya rasa contoh di atas sudah cukup jelas menjelaskan dirinya sendiri.