Dize Birleştirme ' ' operatör kullanma | Netgez.com
SORU
26 NÄ°SAN 2012, PERÅžEMBE


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:

Part 1

Part 2

Ayrıca Joel bölüm 2'de belirtilen (http://www.joelonsoftware.com/articles/fog0000000319.html) süper bir makale var

CEVAP
26 NÄ°SAN 2012, PERÅžEMBE


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.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • Apple&Tech Reviews & Giveaways

    Apple&Tech R

    12 Temmuz 2008
  • Rozetked | Обзоры

    Rozetked | Ð

    5 AÄžUSTOS 2011
  • Thehalopianoplayer

    Thehalopiano

    4 ÅžUBAT 2011