Dela via


Skapa nya strängar i .NET

.NET tillåter att strängar skapas med enkel tilldelning och överbelastar även en klasskonstruktor för att stödja skapandet av strängar med hjälp av ett antal olika parametrar. .NET innehåller också flera metoder i System.String klassen som skapar nya strängobjekt genom att kombinera flera strängar, matriser med strängar eller objekt.

Skapa strängar med tilldelning

Det enklaste sättet att skapa ett nytt String objekt är helt enkelt att tilldela en strängliteral till ett String objekt.

Skapa strängar med hjälp av en klasskonstruktor

Du kan använda överlagringar av String klasskonstruktorn för att skapa strängar från teckenmatriser. Du kan också skapa en ny sträng genom att duplicera ett visst tecken ett angivet antal gånger.

Metoder som returnerar strängar

I följande tabell visas flera användbara metoder som returnerar nya strängobjekt.

Metodnamn Använd
String.Format Skapar en formaterad sträng från en uppsättning indataobjekt.
String.Concat Skapar strängar från två eller flera strängar.
String.Join Skapar en ny sträng genom att kombinera en matris med strängar.
String.Insert Skapar en ny sträng genom att infoga en sträng i det angivna indexet för en befintlig sträng.
String.CopyTo Kopierar angivna tecken i en sträng till en angiven position i en matris med tecken.

Format

Du kan använda metoden String.Format för att skapa formaterade strängar och sammanfoga strängar som representerar flera objekt. Den här metoden konverterar automatiskt alla skickade objekt till en sträng. Om ditt program till exempel måste visa ett Int32-värde och ett DateTime-värde för användaren kan du enkelt konstruera en sträng för att representera dessa värden med hjälp av metoden Format . Information om formateringskonventioner som används med den här metoden finns i avsnittet om sammansatt formatering.

I följande exempel används metoden Format för att skapa en sträng som använder en heltalsvariabel.

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.

I det här exempletDateTime.Now visas aktuellt datum och tid på ett sätt som anges av kulturen som är associerad med den aktuella tråden.

Concat

Metoden String.Concat kan användas för att enkelt skapa ett nytt strängobjekt från två eller flera befintliga objekt. Det ger ett språkoberoende sätt att sammanfoga strängar. Den här metoden accepterar alla klasser som härleds från System.Object. I följande exempel skapas en sträng från två befintliga strängobjekt och ett avgränsande tecken.

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!

Anslut

Metoden String.Join skapar en ny sträng från en matris med strängar och en avgränsarsträng. Den här metoden är användbar om du vill sammanfoga flera strängar, vilket gör en lista kanske avgränsad med ett kommatecken.

I följande exempel används ett blanksteg för att binda en strängmatris.

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!

Infoga

Metoden String.Insert skapar en ny sträng genom att infoga en sträng i en angiven position i en annan sträng. Den här metoden använder ett nollbaserat index. I följande exempel infogas en sträng i den femte indexpositionen MyString för och skapar en ny sträng med det här värdet.

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.

CopyTo

Metoden String.CopyTo kopierar delar av en sträng till en matris med tecken. Du kan ange både början index för strängen och antalet tecken som ska kopieras. Den här metoden tar källindexet, en matris med tecken, målindexet och antalet tecken som ska kopieras. Alla index är nollbaserade.

I följande exempel används metoden CopyTo för att kopiera tecknen i ordet "Hello" från ett strängobjekt till den första indexpositionen för en matris med tecken.

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

Se även