Aracılığıyla paylaş


NET'te yeni dizeler oluşturma

.NET, dizelerin basit atama kullanılarak oluşturulmasına olanak tanır ve ayrıca bir dizi farklı parametre kullanarak dize oluşturmayı desteklemek için bir sınıf oluşturucusunu aşırı yükler. .NET ayrıca sınıfta birkaç dizeyi, dize dizisini veya nesneyi birleştirerek yeni dize nesneleri oluşturan çeşitli yöntemler System.String sağlar.

Atamayı kullanarak dizeler oluşturma

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

Bir sınıf yapıcısı kullanarak dizeler oluşturun

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

Dize döndüren yöntemler

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

Yöntem adı Kullan
String.Format Bir dizi giriş nesnesinden biçimlendirilmiş bir dize oluşturur.
String.Concat İki veya daha fazla dizeden dizeler oluşturur.
String.Join Bir 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 dizisinde belirtilen konuma kopyalar.

Biçim

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

Aşağıdaki örnek, tamsayı değişkeni Format kullanan bir dize oluşturmak için 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,DateTime.Now geçerli iş parçacığıyla ilişkilendirilmiş kültür tarafından belirtilen bir şekilde görüntüler.

Concat

Yöntem String.Concat , 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, 'den System.Objecttüretilen herhangi bir sınıfı kabul eder. Aşağıdaki örnek, varolan iki dize nesnesinden ve bir ayırıcı karakterden bir dize 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

yöntemi String.Join , bir dize dizisinden ve bir ayırıcı dizeden yeni bir dize oluşturur. Bu yöntem, birden çok dizeyi birleştirmek ve belki de virgülle ayrılmış bir liste oluşturmak istiyorsanız kullanışlıdır.

Aşağıdaki örnek, bir 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!

Yerleştir

yöntemi String.Insert , bir dizeyi başka bir dizede belirtilen bir konuma ekleyerek yeni bir dize oluşturur. Bu yöntem sıfır tabanlı bir dizin kullanır. Aşağıdaki örnek, 'nin MyString beşinci dizin konumuna bir dize ekler ve bu değerle 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.

Şuraya Kopyala

yöntemi String.CopyTo , 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 dizisini, hedef dizini ve kopyalanacak karakter sayısını alır. Tüm indeksler sıfır tabanlıdır.

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

string greeting = "Hello World!";
char[] charArray = {'W','h','e','r','e'};
Console.WriteLine($"The original character array: {new string(charArray)}");
greeting.CopyTo(0, charArray,0 ,5);
Console.WriteLine($"The new character array: {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.