English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C# Уровень 1 tutorial

C# Уровень 2 tutorial

C# ООП (面向对象)

Строки (String) в C#

В C# строка представляет собой последовательность символов, используемых для представления текста. Это может быть символ, слово или длинный абзац, заключенный в двойные кавычки. Вот примеры строковых литералов.

"S"
"String"
"This is a string."

C# предоставляет тип данных String для хранения литералов строк. можно声明 переменную типа строки и назначить литерал строки, как показано ниже.

string ch = "S";
string word = "String";
string text = "This is a string.";

Максимальный размер строки объекта в памяти составляет 2 ГБ, что составляет около миллиарда символов. Однако, на практике, он имеет较少ую зависимость от CPU и памяти компьютера.

Есть два способа声明 переменную строки в C#. Использование класса System.String и ключевое слово string. Оба идентичны и не имеют различий.

string str1 = "Hello"; // Использование ключевого слова строки
 
String str2 = "Hello"; // Использование класса System.String

В C# строка является集合ом или массивом символов. Поэтому можно создать строку с помощью массива char, и можно обращаться к строке, как к массиву char.

char[] chars = {'H','e','l','l','o'};
string str1 = new string(chars);  
String str2 = new String(chars); 
foreach (char c in str1)
{
    Console.WriteLine(c);
}

Специальные символы

Текст в реальном мире может содержать любые символы. В C# строка заключена в двойные кавычки, поэтому она не может содержать (

string text = "This is a "string" in C#.";

C# включает символEscape \ (обратная косая черта) в строку перед этими специальными символами.

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

string text = "This is a \
string str = "xyzdef\\rabc";
string path = "\\\\mypc\\ shared\\project";

Однако, добавление \\

string str = @"xyzdef\rabc";
string path = @"\\mypc\shared\project";
string email = @"[email protected]";

Использование @ и \ для объявления многострочных строк.

string str = @"this is a \
multi line \
string";

Обратите внимание, что в строках необходимо использовать обратную косую черту, чтобы разрешить的出现 двойных кавычек \

string text = @"This is a \
string text = @"This is a \
string text = "This is a \

Объединение строк

Множественные строки можно соединить с помощью оператора +.

string name = "Mr." + "James " + "Bond", Code: 007";
 
string firstName = "James";
string lastName = "Bond";
string code = "007";
 
string agent = "Mr." + firstName + " " + lastName + ", Code: " + code;

Строки в C# не изменяемы. Это означает, что они читаемы, и после их создания в памяти они не могут быть изменены. При каждом объединении строк .NET CLR создает новый адрес памяти для объединенной строки. Поэтому, если объединяется пять и более строк, рекомендуется использовать StringBuilder вместо строк.

Интерполяция строк

Интерполяция строк является более удобным способом подключения строк. Мы используем символ + для соединения переменных строк с статическими строками.

C#6 включает в себя особый символ $, который используется для идентификации строк интерполяции. Строка интерполяции представляет собой комбинацию статической строки и переменных строк, где переменные строк должны быть заключены в фигурные скобки {}.

string firstName = "James";
string lastName = "Bond";
string code = "007";
 
string fullName = $"Mr. {firstName} {lastName}, Code: {code}";

В указанных примерах interpolation, $ обозначает строку interpolation, а {} включают переменные строк, которые нужно объединить с строкой.

Используйте две фигурные скобки «{{» или «}}» для включения { или } в строке.