Создание новых строк в .NET

. NET позволяет создавать строки с помощью простой операции присваивания, а также перегружать конструктор класса для создания строк с помощью нескольких различных параметров. Кроме того, .NET предоставляет в классе System.String несколько методов для создания строковых объектов путем объединения строк, массивов строк или объектов.

Создание строк с помощью присваивания

Самый простой способ создать объект String — присвоить строковый литерал объекту String.

Создание строк с помощью конструктора класса

С помощью перегруженного конструктора класса String можно создавать строки из массивов символов. Кроме того, строки можно создавать путем копирования того или иного знака указанное количество раз.

Методы, возвращающие строки

В следующей таблице перечислено несколько полезных методов, которые возвращают строковые объекты.

Имя метода Использование
String.Format Создание форматированной строки из набора объектов ввода.
String.Concat Создание строк из двух или более строк.
String.Join Создание новой строки с помощью объединения массива строк.
String.Insert Создание новой строки с помощью вставки строки в указанную позицию существующей строки.
String.CopyTo Копирование указанных знаков в строке в указанную позицию в массиве символов.

Формат

Метод String.Format позволяет создавать форматированные строки и сцеплять строки, представляющие несколько объектов. Этот метод автоматически преобразует в строку любой переданный объект. Например, если приложение должно предоставить пользователю значение Int32 и значение DateTime, с помощью метода Format вы можете соединить их в одну строку для отображения. Сведения о правилах форматирования, используемых в этом методе, см. в разделе Составное форматирование.

В следующем примере метод Format используется для создания строки, содержащей целочисленную переменную.

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.

В этом примере DateTime.Now выводит текущую дату и время с учетом языка и региональных параметров, связанных с текущим потоком.

Concat

Метод String.Concat позволяет легко создать новый строковый объект из двух или более существующих объектов. Он позволяет использовать независимый от языка способ сцепления строк. Этот метод принимает любой класс, производный от System.Object. В следующем примере создается строка из двух существующих объектов строки и символа разделителя.

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!

Присоединиться

Метод String.Join создает строку из массива строк и разделительной строки. Этот метод полезен в случае необходимости сцепления нескольких строк и создания списка, отделенного, например, запятой.

В следующем примере используется пробел для привязки массива строк.

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!

Insert

Метод String.Insert создает новую строку, вставляя предоставленную строку в указанную позицию в другой строке. Этот метод использует отсчитываемый от нуля индекс. В следующем примере строка вставляется в пятую позицию индекса MyString, и создается новая строка с этим значением.

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

Метод String.CopyTo копирует элементы строки в массив символов. Можно указать начальный индекс строки и число копируемых символов. Для копирования этому методу необходимы исходный индекс, массив знаков, индекс назначения и число символов. Все индексы отсчитываются от нуля.

В следующем примере мы используем метод CopyTo, чтобы скопировать символы слова 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
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

См. также