Почему примитивные типы в C # имеют свои собственные операции?

Несколько дней назад я решил начать изучать C #. Итак, я получил книгу и начал читать и практиковаться с кодом. Я был удивлен, когда увидел этоstring в C # считается примитивным типом.

Но я был более удивлен, когда увидел, чтоstring, как и все другие примитивные типы в C #, имеют операции. Я'Я разработчик Java, и я понимаю, что примитивные типы данных неОперации есть только у классов. Но в C # действует следующее:

string name = "alex";
Console.WriteLine(name.ToUpper());

Как это возможно? Они действительно примитивы? Что мне здесь не хватает?

Ответы на вопрос(5)

Ваш ответ на вопрос