.NET'te Yeni Dizeler Oluşturma

.NET, dizelerin basit atama kullanılarak oluşturulmasını sağlar ve ayrıca bir dizi farklı parametre kullanarak dize oluşturmayı desteklemek için bir sınıf oluşturucuyu aşırı yükler. .NET ayrıca sınıfında çeşitli dizeleri, dize dizilerini System.String veya nesneleri birleştirerek yeni dize nesneleri oluşturan çeşitli yöntemler sağlar.

Atama Kullanarak Dize Oluşturma

Yeni String nesne oluşturmanın en kolay yolu, bir nesneye dize değişmez değeri String atamaktır.

Sınıf Oluşturucu Kullanarak Dize Oluşturma

Karakter dizilerinden dizeler oluşturmak için sınıf oluşturucusunun String aşırı yüklemelerini kullanabilirsiniz. Ayrıca, belirli bir karakteri belirtilen sayıda çoğaltarak yeni bir dize oluşturabilirsiniz.

Dize Döndüren Yöntemler

Aşağıdaki tabloda, yeni dize nesneleri döndüren birkaç yararlı yöntem listelemektedir.

Yöntem adı Kullanma
String.Format Giriş nesneleri kümesinden biçimlendirilmiş bir dize oluşturur.
String.Concat İki veya daha fazla dizeden dizeler oluşturur.
String.Join Dize dizisini birleştirerek yeni bir dize oluşturur.
String.Insert Varolan bir dizenin belirtilen dizinine bir dize ekleyerek yeni bir dize oluşturur.
String.CopyTo Bir dizedeki belirtilen karakterleri bir karakter dizisindeki belirtilen konuma kopyalar.

Biçimlendir

Biçimlendirilmiş dizeler oluşturmak ve birden çok nesneyi temsil eden dizeleri birleştirmek için String.Format yöntemini kullanabilirsiniz. Bu yöntem, geçirilen tüm nesneleri otomatik olarak bir dizeye dönüştürür. Örneğin, uygulamanızın kullanıcıya bir Int32 değeri ve bir DateTime değeri görüntülemesi gerekiyorsa, Format yöntemini kullanarak bu değerleri temsil etmek için kolayca bir dize oluşturabilirsiniz. Bu yöntemle kullanılan biçimlendirme kuralları hakkında bilgi için bileşik biçimlendirme bölümüne bakın.

Aşağıdaki örnek, tamsayı değişkeni kullanan bir dize oluşturmak için Format yöntemini kullanır.

int numberOfFleas = 12;
string miscInfo = String.Format("Your dog has {0} fleas. " +
                                "It is time to get a flea collar. " +
                                "The current universal date is: {1:u}.",
                                numberOfFleas, DateTime.Now);
Console.WriteLine(miscInfo);
// The example displays the following output:
//       Your dog has 12 fleas. It is time to get a flea collar.
//       The current universal date is: 2008-03-28 13:31:40Z.
Dim numberOfFleas As Integer = 12
Dim miscInfo As String = String.Format("Your dog has {0} fleas. " & _
                                       "It is time to get a flea collar. " & _
                                       "The current universal date is: {1:u}.", _
                                       numberOfFleas, Date.Now)
Console.WriteLine(miscInfo)
' The example displays the following output:
'       Your dog has 12 fleas. It is time to get a flea collar. 
'       The current universal date is: 2008-03-28 13:31:40Z.

Bu örnekte, geçerli tarih ve saati geçerliDateTime.Now iş parçacığıyla ilişkili kültür tarafından belirtilen şekilde görüntüler.

Concat

String.Concat yöntemi, iki veya daha fazla mevcut nesneden kolayca yeni bir dize nesnesi oluşturmak için kullanılabilir. Dizeleri birleştirmek için dilden bağımsız bir yol sağlar. Bu yöntem, System.Object'ten türetilen herhangi bir sınıfı kabul eder. Aşağıdaki örnek, mevcut iki dize nesnesinden bir dize ve bir ayırma karakteri oluşturur.

string helloString1 = "Hello";
string helloString2 = "World!";
Console.WriteLine(String.Concat(helloString1, ' ', helloString2));
// The example displays the following output:
//      Hello World!
Dim helloString1 As String = "Hello"
Dim helloString2 As String = "World!"
Console.WriteLine(String.Concat(helloString1, " "c, helloString2))
' The example displays the following output:
'      Hello World!

Katılın

String.Join yöntemi, bir dize dizisinden ve ayırıcı dizeden yeni bir dize oluşturur. Birden çok dizeyi bir araya getirmek ve virgülle ayrılmış bir liste oluşturmak istiyorsanız bu yöntem kullanışlıdır.

Aşağıdaki örnek, dize dizisini bağlamak için bir boşluk kullanır.

string[] words = {"Hello", "and", "welcome", "to", "my" , "world!"};
Console.WriteLine(String.Join(" ", words));
// The example displays the following output:
//      Hello and welcome to my world!
Dim words() As String = {"Hello", "and", "welcome", "to", "my", "world!"}
Console.WriteLine(String.Join(" ", words))
' The example displays the following output:
'      Hello and welcome to my world!

Ekleme

String.Insert yöntemi, başka bir dizede belirtilen konuma dize ekleyerek yeni bir dize oluşturur. Bu yöntem sıfır tabanlı bir dizin kullanır. Aşağıdaki örnek beşinci dizin konumuna MyString bir dize ekler ve bu değere sahip yeni bir dize oluşturur.

string sentence = "Once a time.";
 Console.WriteLine(sentence.Insert(4, " upon"));
 // The example displays the following output:
 //      Once upon a time.
Dim sentence As String = "Once a time."
Console.WriteLine(sentence.Insert(4, " upon"))
' The example displays the following output:
'      Once upon a time.

Kopyala

String.CopyTo yöntemi bir dizenin bölümlerini bir karakter dizisine kopyalar. Hem dizenin başlangıç dizinini hem de kopyalanacak karakter sayısını belirtebilirsiniz. Bu yöntem kaynak dizini, bir karakter dizisi, hedef dizini ve kopyalanacak karakter sayısını alır. Tüm dizinler sıfır tabanlıdır.

Aşağıdaki örnek, bir dize nesnesinden "Hello" sözcüğünün karakterlerini bir karakter dizisinin ilk dizin konumuna kopyalamak için CopyTo yöntemini kullanır.

string greeting = "Hello World!";
char[] charArray = {'W','h','e','r','e'};
Console.WriteLine("The original character array: {0}", new string(charArray));
greeting.CopyTo(0, charArray,0 ,5);
Console.WriteLine("The new character array: {0}", new string(charArray));
// The example displays the following output:
//       The original character array: Where
//       The new character array: Hello
Dim greeting As String = "Hello World!"
Dim charArray() As Char = {"W"c, "h"c, "e"c, "r"c, "e"c}
Console.WriteLine("The original character array: {0}", New String(charArray))
greeting.CopyTo(0, charArray, 0, 5)
Console.WriteLine("The new character array: {0}", New String(charArray))
' The example displays the following output:
'       The original character array: Where
'       The new character array: Hello

Ayrıca bkz.