Создание новых строк
Обновлен: Ноябрь 2007
.NET Framework позволяет создавать строки с помощью простой операции присваивания, а также перегружать конструктор класса для создания строк с помощью нескольких различных параметров. Кроме того, в классе System.String .NET Framework имеются методы для создания строковых объектов путем объединения нескольких строк, массивов строк или объектов.
Создание строк с помощью присваивания
Самый простой способ создать новый объект String — присвоить строковый литерал объекту String.
Создание строк с помощью конструктора класса
С помощью перегруженных конструкторов класса String можно создавать строки из массивов знаков. Кроме того, строки можно создавать путем копирования того или иного знака указанное количество раз.
Методы, возвращающие строки
В следующей таблице перечислено несколько полезных методов, которые возвращают строковые объекты.
Название метода |
Описание |
---|---|
Создание форматированной строки из набора объектов ввода. |
|
Создание строк из двух и более строк. |
|
Создание новой строки с помощью объединения массива строк. |
|
Создание новой строки с помощью вставки строки в указанную позицию существующей строки. |
|
Копирование указанных знаков в строке в указанную позицию в массиве знаков. |
Format
Метод String.Format используется для создания форматированных строк и соединения строк, представляющих несколько объектов. Этот метод автоматически преобразует в строку любой переданный объект. Например, если приложению необходимо отобразить для пользователя значение Int32 и значение DateTime, легко создается строка для представления этих значений с помощью метода Format. Сведения о правилах форматирования, используемых в этом методе, см. в разделе Составное форматирование.
В следующем примере метод Format используется для создания строки, содержащей целочисленную переменную.
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.
В этом примере значение DateTime.Now отображает текущие дату и время в соответствии с языком и региональными параметрами, связанными с текущим потоком.
Concat
Метод String.Concat используется для простого создания нового объекта строки из двух или более существующих объектов. Он позволяет использовать независимый от языка способ сцепления строк. Этот метод принимает любой класс, производный от System.Object. В следующем примере создается строка из двух существующих объектов строки и знака разделения.
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
Метод String.Join создает новую строку из массива строк и разделительной строки. Этот метод полезен в случае необходимости сцепления нескольких строк и создания списка, отделенного, например, запятой.
В следующем примере используется пробел для привязки массива строк.
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!
Insert
Метод String.Insert создает новую строку с помощью вставки строки в указанную позицию другой строки. Этот метод использует индекс с отсчетом от нуля. В следующем примере строка вставляется в пятую позицию индекса MyString, и создается новая строка с этим значением.
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
Метод String.CopyTo копирует часть строки в массив знаков. Можно указать начальный индекс строки и число копируемых знаков. Для копирования этим методом необходимы исходный индекс, массив знаков, индекс назначения и число знаков. Все индексы отсчитываются от нуля.
В следующем примере метод CopyTo используется для копирования знаков слова "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
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