Jawaban:
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:
private static readonly string formatString = "This is {0}overflow";
...
var strVar = "stack";
var myStr = string.Format(formatString, "stack");
Alternatifnya adalah dengan menggunakan operator penggabungan C #:
var strVar = "stack";
var myStr = "This is " + strVar + "overflow";
Jika Anda melakukan banyak penggabungan, gunakan StringBuilder
kelas yang lebih efisien:
var strVar = "stack";
var stringBuilder = new StringBuilder("This is ");
for (;;)
{
stringBuilder.Append(strVar); // spot the deliberate mistake ;-)
}
stringBuilder.Append("overflow");
var myStr = stringBuilder.ToString();
C # 6.0
string mystr = $"This is {strVar}overflow";
Tidak ada operator untuk itu. Anda perlu menggunakan string.Format
.
string strVar = "stack";
string mystr = string.Format("This is {0}soverflow", strVar);
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.
Penggunaan string.Format
:
string mystr = string.Format("This is {0}overflow", "stack");
Anda harus menggunakan String.Format()
. Sintaksnya sedikit berbeda, pengganti numerik digunakan sebagai gantinya.
Contoh:
String.Format("item {0}, item {1}", "one", "two")
Kunjungi http://msdn.microsoft.com/en-us/library/system.string.format.aspx untuk lebih jelasnya.
Anda memiliki 2 opsi. Anda bisa menggunakan String.Format atau Anda bisa menggunakan operator penggabungan.
String newString = String.Format("I inserted this string {0} into this one", oldstring);
ATAU
String newString = "I inserted this string " + oldstring + " into this one";
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 menggunakan String.Format()
in a loop berpotensi membuat banyak StringBuilders. Dalam situasi itu, lebih baik menggunakan StringBuilder tunggal yang dideklarasikan di luar loop dan AppendFormat()
di dalam loop.
Ada satu cara lagi untuk mengimplementasikan placeholder dengan string. Ganti, anehnya membantu dalam situasi tertentu:
mystr = mystr.Replace("%soverflow", strVar);
Anda bisa menggunakan cara berikut
Interpolasi string
Karakter $ special mengidentifikasi string literal sebagai string interpolasi. misalnya
string name = "Mark";
string surname = "D'souza";
WriteLine($"Name :{name} Surname :{surname}" );//Name :Mark Surname :D'souza
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.
String.Format
Gunakan String.Format jika Anda perlu memasukkan nilai objek, variabel, atau ekspresi ke dalam string lain
WriteLine(String.Format("Name: {0}, Surname : {1}", name, surname));
Menggunakan:
strVar = "stack"
mystr = String.Format("This is {0}", strVar);
Anda dapat melakukannya dengan Expansive: https://github.com/anderly/Expansive