Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
 Аватар для useruser
166 / 90 / 38
Регистрация: 29.06.2015
Сообщений: 1,100

В чем разница между ключевыми словами в разных регистрах? (string и String например)

02.06.2021, 07:19. Показов 1380. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Напишу вопрос немного сумбурно:
В чем разница между ключевыми словами в разных регистрах?
Не могу понять смысл. Говорят это синонимы, но зачем и для чего?

Также, говорят что-то про long в C#. Там есть какая то особенность.

PS
В VS2019,в коде если писать "dele", то:
в class Program автозаполнение предлагает delegate
в static void Main автозаполнение предлагает Delegate
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.06.2021, 07:19
Ответы с готовыми решениями:

В чем разница между string и String?
В чем разница между string и String с заглавной буквы? :pardon:

В чём разница между string и символьными массивами?
Собсна какая тема, такой и вопрос. Если выразить его по-точнее, то в чём существенные плюсы того и другого в разных ситуациях? Изучаю С++...

В чем разница между массивом строк и List<string>?
А есть ли принципиальная разница между string array1 и List&lt;string&gt; array2 ? И если есть, то в чем она заключается?

12
 Аватар для esperanto_qun
1124 / 656 / 393
Регистрация: 28.01.2021
Сообщений: 1,336
02.06.2021, 07:40
useruser, различий почти нет, потому что это псевдонимы, для более удобного обращения.

C#
1
2
3
4
object:  System.Object
string:  System.String
bool:    System.Boolean
//..и т.д.
К примеру, string следует использовать при указании ссылки на объект, а String использовать в случае указания на класс.
0
Эксперт .NET
6690 / 4101 / 1607
Регистрация: 09.05.2015
Сообщений: 9,566
02.06.2021, 10:49
Цитата Сообщение от useruser Посмотреть сообщение
В чем разница между ключевыми словами в разных регистрах?
Ключевого слова String в C# не существует. Есть только string. А System.String это тип.
То же самое и с delegate/Delegate...
1
 Аватар для useruser
166 / 90 / 38
Регистрация: 29.06.2015
Сообщений: 1,100
03.06.2021, 14:32  [ТС]
Цитата Сообщение от esperanto_qun Посмотреть сообщение
useruser, различий почти нет, потому что это псевдонимы, для более удобного обращения.
Не вижу особого удобства писать String или string. В чем тут удобство?

Более того, различия в String и string как то связаны с .NET.

Вот код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System; // Закомментируйте это.
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            string a; // Тут не будет никаких ошибок.
            String b; // Тут будет ошибка - не удалось найти пространство имен, если закомментировать using System;
 
        }
    }
}
Цитата Сообщение от Someone007 Посмотреть сообщение
Ключевого слова String в C# не существует.
Разумеется. Написал упрощенно для примера, чтобы был понятен смысл.

Цитата Сообщение от Someone007 Посмотреть сообщение
Есть только string. А System.String это тип.
Разница?
0
628 / 392 / 135
Регистрация: 06.03.2017
Сообщений: 1,469
03.06.2021, 14:44
string это псевдоним. Можете создать свои псевдонимы.
using строка = System.String; И будете писать не string a = "хэллоу ворлд", а строка a = "хэллоу ворлд"

C#
1
2
3
4
5
6
7
8
9
10
11
using строка = System.String;
using Console = System.Console;
 
class Program
{
    static void Main(string[] args)
    {
        строка a = "hello";
        Console.WriteLine(a);
    }
}
1
 Аватар для useruser
166 / 90 / 38
Регистрация: 29.06.2015
Сообщений: 1,100
03.06.2021, 14:53  [ТС]
Цитата Сообщение от Pilarentes Посмотреть сообщение
string это псевдоним. Можете создать свои псевдонимы.
Я читал о псевдонимах.
Но
1) Смысл? Смысл в псевдониме string, когда есть String? Одна буква? Где удобство? Не логично.
2) В коде нет строки с этим псевдонимом.
C#
1
using string = System.String;
Где это?
3) В моем коде выше, при отключении пространства имен псевдоним string (если это он) - работает.
Но я же только что отключил пространство имен...
4) Директива using используется не только для псевдонимов, просто напоминаю.
0
628 / 392 / 135
Регистрация: 06.03.2017
Сообщений: 1,469
03.06.2021, 14:56
Цитата Сообщение от useruser Посмотреть сообщение
Смысл в псевдониме string, когда есть String
Не нужно тянуться в shift
Цитата Сообщение от useruser Посмотреть сообщение
В коде нет строки с этим псевдонимом.
Конечно, он на уровне платформы. Зачем ему торчать наружу?
Цитата Сообщение от useruser Посмотреть сообщение
В моем коде выше, при отключении пространства имен псевдоним string (если это он) - работает.
вы видите в моем коде выше подключенные пространства имен? Там только псевдонимы
Цитата Сообщение от useruser Посмотреть сообщение
Директива using используется не только для псевдонимов, просто напоминаю.
Она используется много для чего. Мы же сейчас говорим конкретно о псевдонимах
0
628 / 392 / 135
Регистрация: 06.03.2017
Сообщений: 1,469
03.06.2021, 15:01
0
628 / 392 / 135
Регистрация: 06.03.2017
Сообщений: 1,469
03.06.2021, 15:03
Название: Screenshot_4.jpg
Просмотров: 114

Размер: 5.0 Кб
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
03.06.2021, 18:03
Цитата Сообщение от useruser Посмотреть сообщение
В чем разница между ключевыми словами в разных регистрах?
string в нижнем регистре — ключевое слово в языке, которое всегда означает System.String из фреймворка и не может служить алиасом ни для какого другого типа или иметь какую-либо иную смысловую нагрузку.
String в верхнем регистре — такой же идентификатор (а не ключевое слово), как и любой другой, а значит может означать что угодно в зависимости от подключенных пространств и объявленных членов.
0
HF
 Аватар для HF
1303 / 882 / 199
Регистрация: 09.09.2011
Сообщений: 2,590
Записей в блоге: 2
04.06.2021, 09:37
Цитата Сообщение от useruser Посмотреть сообщение
В чем разница между ключевыми словами в разных регистрах?
Не могу понять смысл. Говорят это синонимы, но зачем и для чего?
Лучше чем эта статья невозможно ответить.
Этот вопрос из области холиваров. Кто как хочет, тот так и делает. Тот случай, когда на конечный код не влияет, а только на стиль кода, который в свою очередь бесит одних или радует других.

P.S. Лично я пишу через String, так как считаю его "прородителем"
0
 Аватар для useruser
166 / 90 / 38
Регистрация: 29.06.2015
Сообщений: 1,100
08.06.2021, 13:05  [ТС]
И всё таки остаются некоторые вопросы:
1) Если string - аллиас System.String, то он не будет работать без .NET. А на C# пишут (в теории) и без .NET.
Что тогда string там? То, что решит их компилятор?
string - просто ключевое слово в языке, а что оно означает - зависит от платформы/компилятора?

2) В чем удобство string перед String? Одно нажатие шифта?
Или идеологически майкрософт именуют классы/объекты и т.д. с большой буквы (поэтому не могла назвать класс string), но хотела "как у всех" и сделала такой аллиас?
Просто предположение...
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
08.06.2021, 14:35
Цитата Сообщение от useruser Посмотреть сообщение
Что тогда string там?
Тип, представляющий строку.

Цитата Сообщение от useruser Посмотреть сообщение
То, что решит их компилятор?
Если компилятор реализует язык C#, то string должен однозначно соответствовать строковому типу в той платформе, под которую компилируется приложение и имя этого типа должно быть System.String.

Цитата Сообщение от useruser Посмотреть сообщение
2) В чем удобство string перед String?
В однозначности имени типа.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.06.2021, 14:35
Помогаю со студенческими работами здесь

В чём разница между возвратом "string" и "const string&" &
class test { public: test(const string&amp; text) { this-&gt;text = text; } string getText() { return text;

В чем разница между new ArrayList<String>() и new ArrayList<>()?
подскажите,знатоки,в чем разность между ArrayList &lt;String&gt; stringList = new ArrayList&lt;String&gt;(); и ArrayList &lt;String&gt;...

Нельзя преобразовать тип Tuple<string,string,string,string> к string
Здравствуйте, у меня возникла проблема. При запуске кода, вылезает ошибка &quot;Нельзя преобразовать тип...

Регулярное выражение, захват всего между ключевыми словами
Здравствуйте. Не получается(и не нагугливается) решение. Есть такое предложение: Нужно выдернуть регуляркой всё между &quot;это...

В чем разница типов "String" и "string"
Здравствуйте, подскажите - в чём разница в типах: String string Первый тип - тип .NetFramework Второй тип - тип C#?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru