olası Kopyaları (at):
What's the @ in front of a string for .NET?@ dosya yolunda işareti/dize
Aşağıdaki kod var:
new Attachment(Request.PhysicalApplicationPath + @"pdf\" + pdfItem.Value)
do @
işareti ne yapar ?
olası Kopyaları (at):
What's the @ in front of a string for .NET?@ dosya yolunda işareti/dize
Aşağıdaki kod var:
new Attachment(Request.PhysicalApplicationPath + @"pdf\" + pdfItem.Value)
do @
işareti ne yapar ?
Dosya yolu ile ilgisi yoktur. Dizelerin kaçan davranışını değiştirir.
@
ile önceden yazılmış bir dizgede, \
ile başlayan çıkış dizileri devre dışı bırakılır. Bu, \
yol ayırıcısı olduğundan ve bir çıkış dizisi başlatmasını istemediğinizden, dosya yolları için uygundur.
Normal bir dizede, \\
içine \
'dan kurtulmak gerekir, böylece örneğiniz bu "pdf \\" gibi görünecektir. Ancak, @
ile öncelenmesi gereken tek karakter, "
(""
olarak kaçtı) ve \
yalnızca görünebilir.
Bu özellik, dosya yolları veya normal ifadeler gibi \
içeren dizeler için uygun bir özelliktir.
Basit örneğiniz için kazanç o kadar büyük değil, ancak tam yolunuz var "C:\\ABC\\CDE\\DEF"
sonra @"C:\ABC\CDE\DEF"
çok daha güzel görünüyor.
Düzenli ifadeler için neredeyse bir zorunluluktur. Bir normal ifade, genellikle diğer karakterlerden kaçan birkaç \
içerir ve bunlardan kaçmanız gerektiğinde neredeyse okunamaz hale gelir.
onu senin kaçan olmadan ters eğik çizgi (\) girmek için izin verir:
var s1 = "C:\\Temp\\MyFileName";
var s2 = @"C:\Temp\MyFileName";
Hem sonuç aynı içerikli bir dizede (ve dizeleri derleme zamanında interned olduğundan, belki de aynı dize referans).
verbatim string literal'dur. Bu onlarsız tersbölüleri ve hatta linebreaks içerecek şekilde dize verir
farklı ele ediliyor: ters eğik çizgi dize içine bir çift tırnak ekleme kaçmak için kullanılmaz gibistring multiLineString = @"First line
second line
third line";
iki katına çıkarılması gerektiriyorsa:
string withQuote = @"before""after";
Verbatim dize değişmezleri, genellikle her ikisi de sık sık ters eğik çizgi kullanan dosya yolları (gösterdiğiniz gibi) ve normal ifadeler için kullanılır.
Daha fazla bilgi için article on strings numaralı telefonuma bakın.
Peki bu nasıl değiştirir? – Sally
@Sally '@ '' i kaldırdıktan sonra kodunuzu çalıştırmayı deneyin ve farkı görün! – Mayank
Alternatif olarak, 'Path' sınıfı dosya sistemi yolları için de uygundur. –