Найти в Дзене

string и char в C#

Во многих языках программирования “старой школы” есть два разных типа данных: строки и символы. И, например, в С++ и C# это прям сильно разные типы данных (в отличие от того же Паскаля). В Паскале, например, строки можно складывать с символами. И даже в С++ это можно делать. А, блин, в C# почему-то нельзя. И вот такой код: char ch1 = 'a'; string st1 = "a"; st1 = st1 + ch1; //!!!Ошибка приведёт к ошибке во время компиляции. В C# символы (данные типа char) заключаются в одинарные кавычки, а строки (string) - в двойные. Вообще тип char в C# ведёт себя немного странно. Вроде как это почти то же самое, что и целое число, однако сложить два значения этого типа не получится - опять будет ошибка при компиляции (хотя в том же С++ это возможно). И если вам очень захочется таки сложить два значения типа char и поместить результат также в переменную этого типа, то вам придётся преобразовывать значения аж два раза. Честно говоря, когда я об этом узнал, то был неприятно удивлён. Получается, в

Во многих языках программирования “старой школы” есть два разных типа данных: строки и символы. И, например, в С++ и C# это прям сильно разные типы данных (в отличие от того же Паскаля).

В Паскале, например, строки можно складывать с символами. И даже в С++ это можно делать. А, блин, в C# почему-то нельзя. И вот такой код:

char ch1 = 'a';
string st1 = "a";
st1 = st1 + ch1; //!!!Ошибка

приведёт к ошибке во время компиляции.

В C# символы (данные типа char) заключаются в одинарные кавычки, а строки (string) - в двойные.

Вообще тип char в C# ведёт себя немного странно. Вроде как это почти то же самое, что и целое число, однако сложить два значения этого типа не получится - опять будет ошибка при компиляции (хотя в том же С++ это возможно). И если вам очень захочется таки сложить два значения типа char и поместить результат также в переменную этого типа, то вам придётся преобразовывать значения аж два раза.

Честно говоря, когда я об этом узнал, то был неприятно удивлён. Получается, в данном случае C# становится даже сложнее, чем С++. Неужели нельзя было сделать проще? Впрочем, наверняка у разработчиков языка были свои причины.

Строку в C# всё-таки можно сложить с символами. Но тоже придётся поизвращаться. На рисунке пара примеров:

На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.