Dalam .NET Framework, setidaknya dalam bahasa C #, kami memiliki dua "versi" dari tipe string:
- "tali"
- "Tali"
Tampaknya mereka dapat dipertukarkan, tetapi apakah mereka benar-benar? Jika tidak dapat dipertukarkan, apakah umumnya lebih baik menggunakan yang satu daripada yang lain, dan dalam situasi apa?
string
tidak ada di.net
, itu hanya ada di C #.Jawaban:
Nah menurut MSDN
Di mana "String" sebenarnya
System.String
.Saya akan mengatakan bahwa mereka dapat dipertukarkan dan tidak ada perbedaan kapan dan di mana Anda harus menggunakan satu atau yang lain.
Akan lebih baik untuk konsisten dengan yang Anda gunakan.
sumber
String
(dan karenanyastring
dengan alias) adalah jenis referensi.Seperti yang ditunjukkan, mereka adalah hal yang sama dan
string
hanya alias untukString
.Untuk apa nilainya, saya gunakan
string
untuk mendeklarasikan tipe - variabel, properti, nilai pengembalian dan parameter. Hal ini konsisten dengan penggunaan jenis sistem lainnya -int
,bool
,var
dll (meskipunInt32
danBoolean
juga benar).Saya menggunakan
String
saat menggunakan metode statis pada kelas String, sukaString.Split()
atauString.IsNullOrEmpty()
. Saya merasa bahwa ini lebih masuk akal karena metode milik kelas, dan konsisten dengan cara saya menggunakan metode statis lainnya.sumber
Saya sarankan menggunakan huruf kecil
string
. Huruf besarString
akan menggunakan kelas pertama bernama String yang ditemukannya dalam ruang nama yang diimpor ... yang umumnyaSystem.String
. Dimungkinkan untuk kelas String Anda sendiri untuk digunakan sebagai gantinya.sumber
String
agar bekerja, tidak pernah mungkin untuk menipustring
.string
.string
adalah kata kunci C # yang hanya merupakan alias untukSystem.String
..tapi karena itu kata kunci, editor / IDE pewarna sintaksis Anda akan menampilkannya dalam warna kata kunci, sama seperti int, dobel, jika, yang lain, dll. Secara gaya, Anda mungkin lebih suka menggunakan kata kunci daripada
System.String
jenisnya (atauString
setelahnya) kamu sudah selesaiusing System;
).Ini adalah titik niche meskipun, karena meskipun
bool
,char
,int
,double
danstring
semua alias kata kunci untuk jenis sistem,string
adalah aneh-satu-out karena merupakan jenis referensi dan yang lainnya adalah jenis nilai.sumber
object
adalah alias kata kunci untuk jenis referensi, jugastring
hanya alias untukString
, mereka pada akhirnya sama.Anda dapat menggunakan mana yang Anda inginkan, meskipun saya biasanya menggunakan
string
ketika aku berencana menggunakannya seperti tipe data primitif (mirip denganint
,float
ataubool
) danString
ketika saya berencana menggunakannya sebagai objek / kelas. Sebagai contoh:Dalam kasus di atas, saya berencana menggunakan
foo
hanya untuk menyimpan beberapa teks (efektif sebagai primitif), jadi saya menggunakanstring
; Namun, ketika saya meneleponString.isNullOrWhitespace(string)
saya menggunakanString
. Saya melakukan ini, karena umumnya huruf pertama dari nama kelas ditulis dengan huruf besar (String
) sedangkan huruf pertama dari primitif (sepertiint
) tidak.sumber
String digunakan dengan namespace System.String, string digunakan spesifikasi kompiler C #, apalagi System.String adalah nilai tipe referensi. Anda lebih suka berurusan dengan objek Sistem, string hanya untuk tujuan literal. Sistem dan sistem keduanya berfungsi sama.
String digunakan untuk membandingkan, menyamakan dan keperluan lainnya juga.
sumber