Altbilgi içeriğine atla
.NET YARDıM

C# Çok Satırlı Dize (Geliştiriciler İçin Nasıl Çalışır)

C#'ta başladığınızda, diziler öğrenilen en erken kavramlardan biridir. Eğer bir Hello, World! programı bir araya getirdiyseniz, zaten dizelerle çalıştınız demektir.

C#'a daha aşina hale geldikçe, programlarınız daha karmaşık hale gelecektir. Çok geçmeden, birden fazla satıra yayılan dizelerle çalışmaya başlayacaksınız. Eğer şu anda o aşamadaysanız, şanslısınız çünkü bu kılavuzda çok satırlı dizelerin ne olduğunu ve nasıl kullanılacağını açıklayacağız. Haydi inceleyelim.

Çok Satırlı Dize Nedir?

Çok satırlı dizeler tam olarak göründüğü gibidir - tek satır dizilerin aksine, birden fazla satıra yayılan bir dizidir. C#'ta bir çok satırlı dize, çift tırnak içine alınmış bir dizi karakter olan dize sabitleri kullanılarak oluşturulur. Çok satırlı dizeler oluşturmak için, "verbatim string" adı verilen özel bir tür dize sabiti kullanmamız gerekmektedir.

Verbatim Dizelerin Büyüsü

C#'ta çok satırlı bir dize sabiti oluşturmak için, verbatim dizeleri kullanıyoruz. Yazıldığı gibi dizeler, @ sembolü ile başlar ve kaçış dizileri kullanmadan satır sonları, özel karakterler ve hatta boşluklar eklememize olanak tanır.

Bir verbatim dize kullanarak oluşturulmuş çok satırlı bir dizenin örneği aşağıda:

string str = @"This is a
multiline string
in C#.";
string str = @"This is a
multiline string
in C#.";
Dim str As String = "This is a
multiline string
in C#."
$vbLabelText   $csharpLabel

str dizesi üç satır içeriyor ve her satır bir satır sonu ile ayrılmış. Yazıldığı gibi dizeyi oluşturmak için @ sembolünün kullanımına dikkat edin.

Verbatim Dizelerde Karakter Kaçışları

Bazen bir verbatim dize içinde çift tırnaklar kullanmanız gerekebilir. Bunu yapmak için, çift çift tırnak kullanmanız gerekir. Örneğin:

string str = @"This is a
""multiline""
string in C#.";
string str = @"This is a
""multiline""
string in C#.";
Dim str As String = "This is a
""multiline""
string in C#."
$vbLabelText   $csharpLabel

Bu örnekte, str dizesi tırnak içinde "çok satırlı" kelimesini içeriyor ve bu, yazıldığı gibi dizede çift tırnak kullanarak elde edilir.

Çok Satırlı Dizelerin Birleştirilmesi

Çok satırlı dizeleri diğer dizeler veya değerlerle birleştirmeniz gerekebilir. Diğer dize değerleri ile çok satırlı bir dizeyi birleştirmek için + operatörünü, tek satırlı dizelerle yaptığınız gibi kullanabilirsiniz.

string name = "John";
string str = @"Hello, " + name + @",
Welcome to the
world of C# multiline strings!";
string name = "John";
string str = @"Hello, " + name + @",
Welcome to the
world of C# multiline strings!";
Dim name As String = "John"
Dim str As String = "Hello, " & name & ",
Welcome to the
world of C# multiline strings!"
$vbLabelText   $csharpLabel

Burada, çok satırlı dizeyi tek satırlı bir dize name ile birleştirdik.

Çok Satırlı Dize Biçimlendirme

Çok satırlı dizelerle çalışırken, bunları değişkenler veya ifadelerle biçimlendirebilirsiniz. Çok satırlı bir dizeyi biçimlendirmek için, dize enterpolasyonu için $ sembolünü kullanabilirsiniz.

int age = 25;
string str = $@"Hello, I am {age} years old,
and I am learning
C# multiline strings!";
int age = 25;
string str = $@"Hello, I am {age} years old,
and I am learning
C# multiline strings!";
Dim age As Integer = 25
Dim str As String = $"Hello, I am {age} years old,
and I am learning
C# multiline strings!"
$vbLabelText   $csharpLabel

age değişkeninin değerini çok satırlı dizeye dahil etmek için dize enterpolasyonu kullandık.

Çok Satırlı Dizeleri Tek Satır Dizelere Dönüştürme

Bazen, çok satırlı dizeleri tek satırlı dizelere dönüştürmeniz gerekebilir. Bunu başarmak için, satır sonlarını boşluk veya başka bir istenen karakterle değiştirmek için Replace yöntemini kullanabilirsiniz.

string multilineString = @"This is a
multiline string
in C#.";

string singleLineString = multilineString.Replace(Environment.NewLine, " ");
string multilineString = @"This is a
multiline string
in C#.";

string singleLineString = multilineString.Replace(Environment.NewLine, " ");
Dim multilineString As String = "This is a
multiline string
in C#."

Dim singleLineString As String = multilineString.Replace(Environment.NewLine, " ")
$vbLabelText   $csharpLabel

Çok satırlı dizelerdeki satır sonlarını boşlukla değiştirerek tek satır bir dize elde ettik.

Uzun Dizelerle Çalışma

Bazen, çok uzun dizeler kodunuzda okumayı zorlaştırabilir. Kodu daha okunabilir hale getirmek için, uzun dizeleri + operatörünü kullanarak birden çok satıra bölebilirsiniz.

string longString = "This is a very long string that " +
                    "needs to be split across " +
                    "multiple lines for better readability.";
string longString = "This is a very long string that " +
                    "needs to be split across " +
                    "multiple lines for better readability.";
Dim longString As String = "This is a very long string that " & "needs to be split across " & "multiple lines for better readability."
$vbLabelText   $csharpLabel

Uzun tek satırlı dizeleri üç parçaya böldük ve onları + operatörü ile birleştirdik, bu da kodu daha okunabilir hale getirdi.

Hammadde Dize Literalleri ile Çok Satırlı Dize Literalleri Oluşturma

C# 10'da, hammadde dize literalleri adı verilen yeni bir özellik tanıtıldı. Bunlar bize, @ sembolünü kullanmadan çok satırlı dize literalleri oluşturmamıza olanak tanır. Ham bir dize literal oluşturmak için, dizeyi üç tırnak içine alıyoruz ("""). Hammadde dize literalleri, üçlü tırnak işaretleri içinde satır sonları dahil tüm karakterleri korur. Örneğin:

string str = """This is a
multiline string
using raw string literals in C# 10.""";
string str = """This is a
multiline string
using raw string literals in C# 10.""";
Dim str As String = """This is a multiline string using raw string literals in C# 10."""
$vbLabelText   $csharpLabel

Ham dizi literalleri kullanarak çok satırlı bir dize oluşturduk. Dizenin etrafına üçlü tırnak işareti kullanımını dikkat edin.

Hammadde Dize Literallerinde Karakterleri Kaçırma

Düz dize literallerine benzer şekilde, ham dize literallerimize çift tırnak dahil etmemiz gerekebilir. Bunu yapmak için, çift-çift tırnak kullanabiliriz. Örneğin:

string str = """This is a
""multiline""
string using raw string literals in C# 10.""";
string str = """This is a
""multiline""
string using raw string literals in C# 10.""";
Dim str As String = """This is a ""multiline"" string using raw string literals in C# 10."""
$vbLabelText   $csharpLabel

Çift-çift tırnakları kullanarak, ham dize literaline çift tırnaklar dahil ettik.

Düz ve Hammadde Dize Literallerini Birleştirme

Bazı durumlarda, hem düz hem de ham dize literallerinin özelliklerini birleştirmek isteyebiliriz. Bu, üç tırnak takiben @ sembolünü kullanarak yapılabilir.

string str = @"""This is a
multiline string
using both verbatim and raw string literals in C# 10.""";
string str = @"""This is a
multiline string
using both verbatim and raw string literals in C# 10.""";
Dim str As String = """This is a
multiline string
using both verbatim and raw string literals in C# 10."""
$vbLabelText   $csharpLabel

Bu örnekte, hem düz hem de ham dize literallerini kullanarak çok satırlı bir dize oluşturduk. Üç tırnak takiben @ sembolünün kullanımına dikkat edin.

IronPDF'de PDF Oluşturmak için Çok Satırlı Dizelerin Kullanımı

IronPDF, özellikle web geliştiriciler için tasarlanmış hafif bir .NET PDF kutuphanesidir. Her türlü dosya türünü PDF içeriğine dönüştürebilmesi, PDF dosyalarını okumayı, yazmayı ve manipüle etmeyi çok kolay hale getirir ve hem masaüstü hem de web için .NET projelerinde kullanılabilir. En iyi kısmı - bir geliştirme ortamında denemesi ücretsizdir.

Bir PDF dosyası oluşturmak için bir HTML çok satırlı dizenin nasıl kullanılacağı burada:

string name = "John";
string age = "25";
string content = $@"<!DOCTYPE html>
<html>
<body>
<h1>Hello, {name}!</h1>
<p>You are {age} years old.</p>
<p>This is a
multiline string
used to generate a PDF
with IronPDF and dynamic content.</p>
</body>
</html>";

// Create a new PDF document using IronPDF
var pdfDocument = new IronPdf.ChromePdfRenderer();
pdfDocument.RenderHtmlAsPdf(content).SaveAs("c://BioData.pdf");
string name = "John";
string age = "25";
string content = $@"<!DOCTYPE html>
<html>
<body>
<h1>Hello, {name}!</h1>
<p>You are {age} years old.</p>
<p>This is a
multiline string
used to generate a PDF
with IronPDF and dynamic content.</p>
</body>
</html>";

// Create a new PDF document using IronPDF
var pdfDocument = new IronPdf.ChromePdfRenderer();
pdfDocument.RenderHtmlAsPdf(content).SaveAs("c://BioData.pdf");
Dim name As String = "John"
Dim age As String = "25"
Dim content As String = $"<!DOCTYPE html>
<html>
<body>
<h1>Hello, {name}!</h1>
<p>You are {age} years old.</p>
<p>This is a
multiline string
used to generate a PDF
with IronPDF and dynamic content.</p>
</body>
</html>"

' Create a new PDF document using IronPDF
Dim pdfDocument = New IronPdf.ChromePdfRenderer()
pdfDocument.RenderHtmlAsPdf(content).SaveAs("c://BioData.pdf")
$vbLabelText   $csharpLabel

Bu örnekte, PDF içeriğimizi dinamik ve özelleştirilebilir hale getirmek için name ve age değişkenlerini çok satırlı dizeye dahil etmek için dize enterpolasyonu kullandık. PDF'de istediğimiz içerikle çok satırlı bir dize oluşturduk. Ardından, IronPDF ad alanından ChromePdfRenderer sınıfını başlattık ve çok satırlı dize içeriğini PDF belgesine dönüştürmek için RenderHtmlAsPdf yöntemini kullandık. Sonunda, PDF belgesini "BioData.pdf" adlı bir dosyaya kaydettik.

Sonuç

İşte çok satırlı dizelerin çok yönlü dünyasına hızlı bir tur. Artık bir çok satırlı dize C# profesyonelisiniz ve yukarıdaki IronPDF örneği gibi projelerinizde bunları uygulamaya başlayabilirsiniz.

IronPDF'yi elinize almak mı istiyorsunuz? IronPDF'in 30 günlük ücretsiz denemesi ile başlayabilirsiniz. Geliştirme amacıyla tamamen ücretsiz olması da çok avantajlı, böylece tam olarak neler yapabileceğini görebilirsiniz. Ve eğer gördüklerinizi beğenirseniz, IronPDF lisansı $799 kadar düşük bir fiyatla başlıyor. Daha büyük tasarruflar için, tüm dokuz Iron Software aracını iki fiyatına alabileceğiniz Iron Suite paketi göz atın. İyi çalışmalar!

Csharp Multiline String 2 related to Sonuç

Sıkça Sorulan Sorular

C#'ta nasıl çok satırlı bir dize oluşturabilirsiniz?

C#'ta '@' sembolü ile ön eklenmiş verbatim string literaller kullanarak çok satırlı bir dize oluşturabilirsiniz. Bu, dizin içerisinde satır başlıklarını ve özel karakterleri doğrudan eklemenizi sağlar.

C#'ta verbatim string literallerin kullanım amacı nedir?

C#'ta verbatim string literalleri, kaçış dizileri gerektirmeden satır başlıklarını ve özel karakterleri korumak için kullanılır. '@' sembolü ile belirtilirler ve çok satırlı dizeler yazmak için idealdir.

Verbatim dizelerde çift tırnak işaretleri gibi özel karakterleri nasıl ele alırsınız?

Verbatim dizelerde, çift tırnakları dahil etmek için çift-çift tırnak kullanabilirsiniz. Örneğin, '@"Bu bir "çok satırlı" dizedir."', çift tırnakların dize içerisinde yer almasına izin verir.

C# 10'daki ham string literalleri nelerdir ve nasıl çalışırlar?

C# 10'da tanıtılan ham string literalleri, '@' sembolü kullanmadan çok satırlı dizeler oluşturmayı sağlar. Üçlü tırnak işareti içinde yer alırlar ve tüm karakterleri, satır başlıkları da dahil olmak üzere, tam olarak göründüğü gibi korurlar.

Çok satırlı dizeler PDF oluşturma işlemlerinde nasıl kullanılır?

Çok satırlı dizeler, HTML biçiminde dinamik içerik oluşturmak için kullanılabilir ve sonra IronPDF gibi HTML'den PDF'e dönüşümü destekleyen kütüphaneler ile PDF belgelerine dönüştürülebilir.

Dize interpolasyonu nedir ve çok satırlı dizelere nasıl uygulanır?

C#'ta dize interpolasyonu, dizeler içinde değişkenleri veya ifadeleri yerleştirmeyi '$' sembolü kullanarak sağlar. Çok satırlı dizelerle, dinamik içeriği sorunsuz bir şekilde dahil etmek için kullanılabilir.

Bir çok satırlı dizeyi C#'ta tek satırlı bir dizeye nasıl dönüştürürsünüz?

Bir çok satırlı dizeyi tek satırlı bir dizeye dönüştürmek için, satır başlıklarını boşluklarla veya başka bir karakterle değiştirmek için Replace yöntemini kullanabilirsiniz. Örneğin: multilineString.Replace(Environment.NewLine, " ").

Geliştiriciler neden .NET uygulamalarında PDF oluşturma için kütüphaneleri kullanmalıdır?

.NET`te PDF oluşturma için tasarlanmış kütüphaneler, okuma, yazma ve PDF'leri manipüle etme sürecini kolaylaştırarak uyarlanabilir bir araç seti sunar. Hem masaüstü hem de web uygulamaları için çeşitli dosya türlerini PDF'ye dönüştürmeyi desteklerler.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Chief Technology Officer

Jacob Mellor, Iron Software'in Teknoloji Müdürü ve C# PDF teknolojisinin öncüsü olan vizyoner bir mühendis. Iron Software’in temel kod tabanının ilk geliştiricisi olarak, şirketin ürün mimarisini kuruluşundan bu yana şekillendirdi ve CEO Cameron Rimington ile birlikte NASA, Tesla ve ...

Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara