С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C# Создать класс Residence: с полями - тип жилья, кол-во комнат, есть гараж, есть сад с методами рассчитывающими стоимость https://www.cyberforum.ru/ csharp-beginners/ thread2215941.html
Описать перечисление ResidenceType (дом, квартира и т.д) Создать класс Residence: с полями - тип жилья, кол-во комнат, есть гараж, есть сад с методами, рассчитывающими стоимость жилья и затраты на содержание сада
C# Индекс находится вне границ массива
Не могу исправить ошибку "Индекс находился вне границ массива". List<string> spec = new List<string>(); List<string> splist = new List<string>(); List<int> countlist = new List<int>(); string text = ""; using (StreamReader sr = new System.IO.StreamReader(@"C:\Users\acer\Desktop\text.txt", Encoding.Default)) { ...
C# Целесообразность использования свойств вместо public полей в приложениях, где важна скорость Visual Studio в том коде, который я пишу для решения одной числодробильной задачи, упорно подсказывал мне о необходимости заменять поля классов на свойства. Решил проверить, как это скажется на производительности. См. код под спойлером. public static class Test_Performance04 { public class AccessWithProperty { public double v1 { get; private set; } ... https://www.cyberforum.ru/ csharp-beginners/ thread2215894.html C# Как округлить значение Double? К примеру выходит у меня по итогу вычислений, double равный 12,4760582343 А как его можно округлить до 12, 48?:pardon: https://www.cyberforum.ru/ csharp-beginners/ thread2215872.html
Фрактальное сжатие C#
Ребзя подскажите кто разбирается в чем я ошибаюсь: по идеи должно быть что клацаешь на кнопку декодирования получается плохо, клацаешь еще раз получается лучше и так далее до совершенства (препод так сказал) так же дал код на с++ который работает якобы, и я собственно его слово в слово перевел но не зги не работает. Оба проекта подрублю сюды з.ы. самособой понимаю то код дофига котыленный но...
C# Дополнить строку до 40 символов пробелами в конце строки Ввести две отдельных строки, содержащие по меньшей мере по 4 слова. Дополнить вторую строку до 40 символов пробелами в конце строки. https://www.cyberforum.ru/ csharp-beginners/ thread2215858.html
C# Переход с C++ на C# https://www.cyberforum.ru/ csharp-beginners/ thread2215847.html
Здравствуйте! С чего начать изучение C#, зная основы C++? (Для дальнейшей разработки программ под Windows) Подскажите книги, видео материалы)
C# В чем разница между string и String?
В чем разница между string и String с заглавной буквы? :pardon:
C# Перевод единиц длины https://www.cyberforum.ru/ csharp-beginners/ thread2215837.html
Перевести расстояние в морских единицах: мили, кабельтовы, сажени в русские единицы измерения: версты, сажени, вершки. 1 верста = 2, 1336 км , 1 вершок = 4,45 м, 1 аршина = 71,12 см. Вопрос такой: как сделать сам перевод? Ввели, допустим, 2 мили 4 кабельтовы и 15 саженей и как это перевести? Мили, кабельтовы, морские сажени перевести в сантиметры и из них переводить в версты, сажени и...
C# Найти сумму элементов массива заштрихованной области Найти S сумму элементов квадратной матрицы A из заштрихованной области https://www.cyberforum.ru/ csharp-beginners/ thread2215784.html
Ошибка CS1503 C#
Есть метод: internal void DrawAlternative<TDrawObject, TFillObject, TData>(Action<TDrawObject, TData> drawOutline, Action<TFillObject, TData> drawFill, TDrawObject objectToDraw, TFillObject objectToFill, TData objectData) { if (IsFilled) { drawFill(objectToFill, objectData); } drawOutline(objectToDraw,...
C# Библиотеки для работы с почтой https://www.cyberforum.ru/ csharp-beginners/ thread2215763.html
Камрады, насоветуйте годные библиотеки для работы с почтой(POP3, IMAP), если еще и работа с чангой(MAPI) 2013+, то вообще огонь
Администратор
Эксперт .NET
17714 / 13840 / 5314
Регистрация: 17.03.2014
Сообщений: 28,351
Записей в блоге: 1
24.03.2018, 12:03 0

Тип string, ссылочный или примитивный? - C# - Ответ 12243398

24.03.2018, 12:03. Показов 7747. Ответов 6
Метки (Все метки)

Ответ

Чипс, здесь небольшая путаница с терминами на мой взгляд. В C# есть 15 встроенных (built-in) типов: bool, byte, sbyte, char, decimal, double, float, int, uint, long, ulong, object, short, ushort, string. Как видим string есть в списке. Далее на странице вводится понятие простых (simple) типов к которым относят все встроенные типы кроме string и object.
All of the types in the table, except object and string, are referred to as simple types.

Built-In Types Table (C# Reference)
Такая же терминология используется и в спецификации языка. С другой стороны у нас есть тип Type со свойством IsPrimitive в описании которого говорится
The primitive types are Boolean, Byte, SByte, Int16, UInt16, Int32, UInt32, Int64, UInt64, IntPtr, UIntPtr, Char, Double, and Single.
Видно что в списке отсутствует тип Decimal и добавлены типы IntPtr, UIntPtr. Поэтому тип string неверно называть примитивным. В указанном месте книге Рихтера термин "примитивный" скорее следует понимать как "встроенный". Ссылочным же типом string назван корректно. Следовательно string это встроенный ссылочный тип.

Вернуться к обсуждению:
Тип string, ссылочный или примитивный? C#
1
Заказать работу у эксперта
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.03.2018, 12:03
Готовые ответы и решения:

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

Ссылочный тип
Здравствуйте, сейчас интересуюсь теорией. Хочу посмотреть на выражение string field = null; чуть...

Указатель на ссылочный тип
Доброго времени суток, не могу разобраться с маленькой проблемой: Имеется класс &quot;Car&quot; (его...

Удлинить string-тип, или заменить чем-то длиннее
Привет ребята. Помогите пожалуйста в таком интересном вопросе) Мне нужен тип данных примерно в три...

6
24.03.2018, 12:03
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.03.2018, 12:03
Помогаю со студенческими работами здесь

Есть ли в BCL примитивный тип для представления 16-ричных чисел
Всем доброго времени суток! Вопрос такой - есть ли в C# примитив данных hex(число в 16-ричной...

Почему компилятор C# разрешает привести ЛЮБОЙ ссылочный тип к ЛЮБОМУ интерфейсу?
class Program { static void Main(string args) { var t =...

Как же всё-таки сделать копию Liss<T>, где Т - ссылочный тип (в моем случае -- класс)
class T { int d; DateTime f; public T(int d, DateTIme date = new DateTime()) { d = d; f =...

Когда следует использовать значимый тип, а когда ссылочный?
Почитал про значимые и ссылочные типы, ознакомился с отличиями между ними, как работают те и...

0
Новые блоги и статьи
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов. . . .
С чего начать программировать микроконтроллер­­ы
raxper 06.01.2025
Введение в мир микроконтроллеров Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru