Sdílet prostřednictvím


Vytváření nových řetězců

Rozhraní .NET Framework umožňuje vytvoření řetězců pomocí jednoduchého přiřazení a také přetěžuje konstruktor třídy pro podporu vytvoření řetězců pomocí několika různých parametrů. Rozhraní .NET Framework také poskytuje několik metod třídy System.String, které vytvářejí nový objekt řetězce sloučením několika řetězců, polí řetězců nebo objektů.

Vytváření řetězců pomocí přiřazení

Nejjednodušší způsob jak vytvořit nový objekt String je objektu String přiřadit řetězcový literál.

Vytváření řetězců pomocí konstruktoru třídy

Můžete použít přetížení konstruktoru třídy String pro vytvoření řetězce z pole znaků. Můžete také vytvořit nový řetězec pomocí duplikování určitého znaku zadaným počtem krát.

Metody vracející řetězce

V následující tabulce je uvedeno několik užitečných metod, které vracejí nové objekty řetězce.

Název metody

Pomocí

String.Format

Vytvoří formátovaný řetězec z množiny vstupních objektů.

String.Concat

Vytvoří řetězce ze dvou nebo více řetězců.

String.Join

Vytvoří nový řetězec kombinováním pole řetězců.

String.Insert

Vytvoří nový řetězec vložením řetězce na určitý index již existujícího řetězce.

String.CopyTo

Kopíruje zadané znaky řetězce na určenou pozici v poli znaků.

Formát

Můžete použít metodu String.Format pro vytvoření formátovaných řetězců a zřetězení řetězců představující více objektů. Libovolný objekt předaný této metodě je automaticky převeden na řetězec. Například pokud aplikace vyžaduje zobrazení hodnoty Int32 a hodnoty DateTime uživateli, můžete snadno sestavit řetězec představující tyto hodnoty pomocí metody Format. Informace o konvencích formátování použitého touto metodou naleznete v oddílu o složeném formátování.

V následujícím příkladu je použita metoda Format pro vytvoření řetězce, který používá celočíselnou proměnnou.

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.
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.

V tomto příkladu DateTime.Now zobrazí aktuální datum a čas způsobem určeným jazykovou verzí spojenou s aktuálním vláknem.

Concat

Metoda String.Concat může být použita pro snadné vytvoření nového objektu řetězce ze dvou nebo více existujících objektů. Umožňuje zřetězení řetězců, které je nezávislé na jazyce. Tato metoda přijímá libovolnou třídu, která je odvozena ze System.Object. Následující příklad vytvoří řetězec ze dvou existujících objektů řetězce a dělícího znaku.

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!
string helloString1 = "Hello";
string helloString2 = "World!";
Console.WriteLine(String.Concat(helloString1, ' ', helloString2));
// The example displays the following output:
//      Hello World!

Join

Metoda String.Join vytvoří nový řetězec z pole řetězců a oddělovacího řetězce. Tato metoda je užitečná chcete-li zřetězit více řetězců dohromady pro vytvoření seznamu odděleného například čárkou.

Následující příklad používá mezeru pro spojení pole řetězců.

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!
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!

Vložení

Metoda String.Insert vytvoří nový řetězec vložením řetězce na určenou pozici v jiném řetězci. Tato metoda používá index počítaný od nuly. Následující příklad vloží řetězec na pátou indexovou pozici MyString a vytvoří nový řetězec s touto hodnotou.

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

CopyTo

Metoda String.CopyTo zkopíruje části řetězce do pole znaků. Můžete zadat jak počáteční index řetězce tak počet znaků, které mají být zkopírovány. Tato metoda přebírá zdrojový index, pole znaků, cílový index a počet znaků ke zkopírování. Všechny indexy jsou počítány od nuly.

V následujícím příkladu je použita metoda CopyTo pro zkopírování znaků slova "Hello" z objektu řetězce na první indexovou pozici pole znaků.

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
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

Viz také

Koncepty

Složené formátování

Další zdroje

Základní operace s řetězci