Saya ingin melakukan hal berikut di C # (berasal dari latar belakang Python):
strVar = "stack"
mystr = "This is %soverflow" % (strVar)
Bagaimana cara mengganti token di dalam string dengan nilai di luarnya?
Saya ingin melakukan hal berikut di C # (berasal dari latar belakang Python):
strVar = "stack"
mystr = "This is %soverflow" % (strVar)
Bagaimana cara mengganti token di dalam string dengan nilai di luarnya?
string mystr = string.Format("This is {0}overflow", strVar);
Dan Anda juga bisa menggunakan parameter bernama alih-alih indeks.
Ini telah ditambahkan pada C # 6.0 (Visual Studio 2015+).
Contoh:
var planetName = "Bob";
var myName = "Ford";
var formattedStr = $"Hello planet {planetName}, my name is {myName}!";
// formattedStr should be "Hello planet Bob, my name is Ford!"
Ini adalah gula sintaksis untuk:
var formattedStr = String.Format("Hello planet {0}, my name is {1}!", planetName, myName);
Sumber daya tambahan:
$("This feature is {GetDescription(FEATURE_AMAZING))}");
Anda dapat menggunakan
string.Format
untuk menjatuhkan nilai menjadi string:Alternatifnya adalah dengan menggunakan operator penggabungan C #:
Jika Anda melakukan banyak penggabungan, gunakan
StringBuilder
kelas yang lebih efisien:sumber
C # 6.0
sumber
Jika saat ini Anda menggunakan Visual Studio 2015 dengan C # 6.0, coba berikut ini:
fitur itu disebut interpolasi string.
sumber
Tidak ada operator untuk itu. Anda perlu menggunakan
string.Format
.Sayangnya
string.Format
adalah metode statis, jadi Anda tidak bisa begitu saja menulis"This is {0}soverflow".Format(strVar)
. Beberapa orang telah menetapkan metode ekstensi, yang memungkinkan sintaks ini.sumber
Penggunaan
string.Format
:sumber
Anda harus menggunakan
String.Format()
. Sintaksnya sedikit berbeda, pengganti numerik digunakan sebagai gantinya.Contoh:
Kunjungi http://msdn.microsoft.com/en-us/library/system.string.format.aspx untuk lebih jelasnya.
sumber
Anda memiliki 2 opsi. Anda bisa menggunakan String.Format atau Anda bisa menggunakan operator penggabungan.
ATAU
sumber
String.Format()
menggunakan StringBuilder. StringBuilder biasanya lebih efisien saat menggabungkan banyak string, tetapi operator penggabungan sempurna untuk satu kali.String.Format()
berguna saat pemformatan perlu diterapkan ke keluaran, misalnya untuk menambahkan pengisi atau nol di depan ke nilai numerik. Jadi menggunakanString.Format()
in a loop berpotensi membuat banyak StringBuilders. Dalam situasi itu, lebih baik menggunakan StringBuilder tunggal yang dideklarasikan di luar loop danAppendFormat()
di dalam loop.Ada satu cara lagi untuk mengimplementasikan placeholder dengan string. Ganti, anehnya membantu dalam situasi tertentu:
sumber
Anda bisa menggunakan cara berikut
Karakter $ special mengidentifikasi string literal sebagai string interpolasi. misalnya
String interpolasi adalah string literal yang mungkin berisi ekspresi interpolasi. Ketika string interpolasi diselesaikan menjadi string hasil, item dengan ekspresi terinterpolasi diganti dengan representasi string dari hasil ekspresi.
Gunakan String.Format jika Anda perlu memasukkan nilai objek, variabel, atau ekspresi ke dalam string lain
sumber
Menggunakan:
sumber
Anda dapat melakukannya dengan Expansive: https://github.com/anderly/Expansive
sumber