Nieuwe tekenreeksen maken in .NET
Met .NET kunnen tekenreeksen worden gemaakt met behulp van eenvoudige toewijzing en wordt ook een klasseconstructor overbelast om het maken van tekenreeksen te ondersteunen met behulp van een aantal verschillende parameters. .NET biedt ook verschillende methoden in de System.String klasse waarmee nieuwe tekenreeksobjecten worden gemaakt door verschillende tekenreeksen, matrices van tekenreeksen of objecten te combineren.
Tekenreeksen maken met behulp van toewijzing
De eenvoudigste manier om een nieuw String object te maken, is door een letterlijke tekenreeks toe te wijzen aan een String object.
Tekenreeksen maken met behulp van een klasseconstructor
U kunt overbelastingen van de String klasseconstructor gebruiken om tekenreeksen te maken op basis van tekenmatrices. U kunt ook een nieuwe tekenreeks maken door een bepaald teken een bepaald aantal keren te dupliceren.
Methoden die tekenreeksen retourneren
De volgende tabel bevat verschillende nuttige methoden die nieuwe tekenreeksobjecten retourneren.
Methodenaam | Gebruik |
---|---|
String.Format | Hiermee wordt een opgemaakte tekenreeks gemaakt op basis van een set invoerobjecten. |
String.Concat | Hiermee bouwt u tekenreeksen van twee of meer tekenreeksen. |
String.Join | Hiermee wordt een nieuwe tekenreeks gemaakt door een matrix met tekenreeksen te combineren. |
String.Insert | Hiermee wordt een nieuwe tekenreeks gemaakt door een tekenreeks in te voegen in de opgegeven index van een bestaande tekenreeks. |
String.CopyTo | Hiermee kopieert u opgegeven tekens in een tekenreeks naar een opgegeven positie in een matrix met tekens. |
Indeling
U kunt de methode String.Format gebruiken om opgemaakte tekenreeksen te maken en tekenreeksen samen te voegen die meerdere objecten vertegenwoordigen. Met deze methode worden alle doorgegeven objecten automatisch geconverteerd naar een tekenreeks. Als uw toepassing bijvoorbeeld een Int32-waarde en een Datum/tijd-waarde voor de gebruiker moet weergeven, kunt u eenvoudig een tekenreeks maken om deze waarden weer te geven met behulp van de methode Format. Zie de sectie over samengestelde opmaak voor informatie over opmaakconventies die met deze methode worden gebruikt.
In het volgende voorbeeld wordt de methode Format gebruikt om een tekenreeks te maken die gebruikmaakt van een variabele voor een geheel getal.
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.
In dit voorbeeldDateTime.Now wordt de huidige datum en tijd weergegeven op een manier die is opgegeven door de cultuur die is gekoppeld aan de huidige thread.
Concat
De methode String.Concat kan worden gebruikt om eenvoudig een nieuw tekenreeksobject te maken op basis van twee of meer bestaande objecten. Het biedt een taalonafhankelijke manier om tekenreeksen samen te voegen. Deze methode accepteert elke klasse die is afgeleid van System.Object. In het volgende voorbeeld wordt een tekenreeks gemaakt van twee bestaande tekenreeksobjecten en een scheidend teken.
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!
Deelnemen
Met de methode String.Join wordt een nieuwe tekenreeks gemaakt op basis van een matrix met tekenreeksen en een scheidingstekenreeks. Deze methode is handig als u meerdere tekenreeksen wilt samenvoegen, waardoor een lijst mogelijk wordt gescheiden door een komma.
In het volgende voorbeeld wordt een spatie gebruikt om een tekenreeksmatrix te binden.
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!
Invoegen
Met de methode String.Insert wordt een nieuwe tekenreeks gemaakt door een tekenreeks in te voegen op een opgegeven positie in een andere tekenreeks. Deze methode maakt gebruik van een op nul gebaseerde index. In het volgende voorbeeld wordt een tekenreeks ingevoegd in de vijfde indexpositie van MyString
en wordt een nieuwe tekenreeks met deze waarde gemaakt.
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
Met de methode String.CopyTo worden delen van een tekenreeks gekopieerd naar een matrix met tekens. U kunt zowel de beginindex van de tekenreeks als het aantal tekens opgeven dat moet worden gekopieerd. Deze methode gebruikt de bronindex, een matrix met tekens, de doelindex en het aantal tekens dat moet worden gekopieerd. Alle indexen zijn gebaseerd op nul.
In het volgende voorbeeld wordt de methode CopyTo gebruikt om de tekens van het woord 'Hallo' van een tekenreeksobject naar de eerste indexpositie van een matrix met tekens te kopiƫren.
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