Dize Birleştirme ' ' operatör kullanma
string
sınıf meta bakarak, ben sadece operatörler ==
!=
aşırı yüklü. Ne için birleştirme gerçekleştirmek mümkün '7 **' operatör?
Edit:
Eric bazı ilginç notlar dize birleştirme üzerinde Lippert:
Ayrıca Joel bölüm 2'de belirtilen (http://www.joelonsoftware.com/articles/fog0000000319.html) süper bir makale var
CEVAP
Mi - deÄŸil C# derleyici yapar :)
Bu kod:
string x = "hello";
string y = "there";
string z = "chaps";
string all = x y z;
aslında derlenmiş alır:
string x = "hello";
string y = "there";
string z = "chaps";
string all = string.Concat(x, y, z);
(Gah - edit araya giren yanlışlıkla başka bit kaldırıldı.)
Yararı C# derleyici fark vardır ki birden çok dize birbirine bağlanması burada olduğunu bilmiyorsun sonunda yaratıcı bir orta string x y
olan ihtiyaçları da kopyalanacak yeniden bir parçası olarak birleştirme (x y)
z
. Bunun yerine, tek seferde halloldu.
EDİT: derleyici Unutmayınolamazeğer bir döngü bağlamak eğer her şeyi yapar. Örneğin, bu kod:
string x = "";
foreach (string y in strings)
{
x = y;
}
sadece eÅŸdeÄŸer olarak bulur:
string x = "";
foreach (string y in strings)
{
x = string.Concat(x, y);
}
... yani buyokçöp bir sürü oluşturur, ve bu gibi durumlar için StringBuilder
kullanmak etmelisiniz. Umarım başka soruya cevap verebilecek olan article going into more details about the two var.
Olabilirdi vs Dize birleÅŸtirme StringB...
Dize birleÅŸtirme: () herhangi bir para...
Yakut: çok satırlı hayır birleştirme i...
'en iyi dize birleştirme yöntemi ...
Python Dize ve Tamsayı birleştirme...