String name что это значит

Что это значит: String^ name

Что это значит: String^ var_name ? Я могу сделать это только в CLR C/C++., и я знаю, что ^ — это XOR.

В чем разница между:

4 ответа

Я видел в программе объявление типа String line = while((line = reader.readLine()) != null) что это значит ? Пожалуйста, уточните .

пока я печатал это: код :
.

Это оператор обращения к объекту. Он объявляет управляемый указатель.

Они кажутся обычными указателями, но вам не нужно их освобождать.

Декларатор дескриптора ( ^ , произносится «hat»),) изменяет спецификатор типа таким образом, что объявленный объект должен быть автоматически удален , когда система определит, что объект больше недоступен.

Переменная, объявленная с помощью декларатора дескриптора, ведет себя как указатель на объект.

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

Вы должны использовать gcnew для явного выделения этих указателей, а не new .

Строка^ — это управляемая строка. оператор ^ означает, что переменная является управляемой ссылкой.

На самом деле это указатель кучи /handle на объект управляемой кучи. Это указатель или индекс без привязанного к нему видимого типа.

Похожие вопросы:

Получил странный доступ к проекту, где нашел эту строку: strUserName = String$(39, 0) Что значит String$ ?

Я сталкивался с этим в приложениях Visual C++ extern map mapCallTable; или map Что это значит? Не в карте дело, а часть

Я получил эту ошибку в журнале во время работы с XPage сегодня. CLFAD0111W: PropertyMap находился в недопустимом состоянии. evaluateValueBindings был включен, но не отключен до фазы saveState.

Я видел в программе объявление типа String line = while((line = reader.readLine()) != null) что это значит ? Пожалуйста, уточните .

пока я печатал это: код :

Может ли кто-нибудь объяснить, что это значит data?.name на приведенном ниже коде: публичный статический асинхронный запуск задачи (HttpRequestMessage req, TraceWriter log) < log.Info($C# HTTP.

что это значит в c# ? public Extra_Bed_Configurations[][] extra_bed_configurations < get; set; >Где класс Extra_Bed_Configurations имеет следующие свойства. public class Extra_Bed_Configurations <.

Я изучаю typescript.below — это какой-то исходный код: export class ShoppingCartItem < $key:string; title:string; imageUrl:string; price:number, quantity:number, >. . itemsMap: <.

Я только что наткнулся на этот код _=_=>_(_);_(_) и это написано в javascript. Я понятия не имею, что это значит. Что означает этот смайлик?

Источник

Строки (Руководство по программированию на C#)

Строка — это объект типа String, значением которого является текст. Внутри программы текст хранится в виде упорядоченной коллекции объектов Char только для чтения. В конце строки C# нет нуль-символов. Поэтому строка C# может содержать любое число внедренных нуль-символов (‘\0’). Свойство Length строки соответствует числу содержащихся в ней объектов Char , но не числу символов Юникода. Для доступа к отдельным кодовым точкам Юникода в строке используйте объект StringInfo.

Сравнение строки и System.String

В C# ключевое слово string является псевдонимом для String. Таким образом, String и string являются эквивалентами. Однако рекомендуется использовать предоставленный псевдоним string , так как он работает даже без using System; . Класс String предоставляет множество методов для безопасного создания, обработки и сравнения строк. Кроме того, язык C# перегружает некоторые операторы для упрощения типичных операций со строками. Дополнительные сведения о ключевых словах см. в статье, посвященной строкам. Дополнительные сведения о типе и его методах см. здесь: String.

Объявление и инициализация строк

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

Обратите внимание, что вы не используете оператор new для создания объекта строки, за исключением случаев инициализации строки с помощью массива символов.

Инициализируйте строку с константным значением Empty для создания нового объекта String, строка которого имеет нулевую длину. Представлением строкового литерала строки с нулевой длиной является «». Если вы инициализируете строки со значением Empty вместо NULL, вы снизите вероятность появления исключения NullReferenceException. Используйте статический метод IsNullOrEmpty(String), чтобы проверить значение строки, прежде чем пытаться получить к ней доступ.

Неизменность строковых объектов

Строковые объекты являются неизменяемыми: их нельзя изменить после создания. Может показаться, что все методы String и операторы C# изменяют строку, но в действительности они возвращают результаты в новый строковый объект. Когда содержимое s1 и s2 объединяется для формирования одной строки, две исходные строки не изменяются, как показано в следующем примере. Оператор += создает новую строку, которая содержит объединенное содержимое. Этот новый объект присваивается переменной s1 , а исходный объект, который был присвоен s1 , освобождается для сборки мусора, так как ни одна переменная не ссылается на него.

Так как «изменение» строки на самом деле является созданием новой строки, создавать ссылки на строки следует с осторожностью. Если вы создадите ссылку на строку, а затем «измените» исходную строку, ссылка будет по-прежнему указывать на исходный объект, а не на новый объект, который был создан при изменении строки. Это поведение проиллюстрировано в следующем коде:

Сведения о создании новых строк, основанных на таких изменениях, как операции поиска и замены исходной строки, см. в инструкциях по изменению содержимого строки.

Регулярные и буквальные строковые литералы

Используйте регулярные строковые литералы, когда вам нужно внедрить escape-символы, доступные в C#, как показано в следующем примере:

Буквальные строковые литералы используются для удобства и читабельности, если текст строки содержит символы обратной косой черты, например в путях к файлам. Так как буквальные строки сохраняют символы новой строки как часть текста строки, их можно использовать для инициализации многострочных строк. Используйте двойные кавычки, чтобы вставить кавычки в буквальной строке. В следующем примере показаны наиболее часто используемым буквальные строки:

Escape-последовательности строк

Escape-последовательность Имя символа Кодировка Юникод
\’ Одинарная кавычка 0x0027
Двойная кавычка 0x0022
\\ Обратная косая черта 0x005C
\0 Null 0x0000
\a Предупреждение 0x0007
\b Backspace 0x0008
\f Перевод страницы 0x000C
\n Новая строка 0x000A
\r Возврат каретки 0x000D
\t Горизонтальная табуляция 0x0009
\v Вертикальная табуляция 0x000B
\u Escape-последовательность Юникода (UTF-16) \uHHHH (диапазон: 0000–FFFF; пример: \u00E7 = «ç»)
\U Escape-последовательность Юникода (UTF-32) \U00HHHHHH (диапазон: 000000–10FFFF; пример: \U0001F47D = «👽»)
\x Escape-последовательность Юникода аналогична «\u», она отличается только длиной переменной \xH[H][H][H] (диапазон: 0–FFFF; пример: \x00E7 или \x0E7 или \xE7 = «ç»)

Если вы используете escape-последовательность \x с менее чем четырьмя шестнадцатеричными цифрами, то когда непосредственно следующие за ней символы также являются допустимыми шестнадцатеричными цифрами (т. е. 0–9, A–F и a–f), они будут интерпретированы как часть этой escape-последовательности. Например, \xA1 дает результат «¡», являющийся кодовой точкой U+00A1. Однако если следующий символ — «A» или «a», тогда escape-последовательность будет интерпретироваться как \xA1A и даст результат «ਚ», являющийся кодовой точкой U+0A1A. В таких случаях, чтобы избежать некорректной интерпретации, указывайте все четыре шестнадцатеричных знака (например, \x00A1 ).

Во время компиляции буквальные строки преобразуются в обычные строки с теми же escape-последовательностями. Поэтому, если вы просматриваете буквальную строку в окне контрольных значений отладчика, вы увидите escape-символы, добавленные компилятором, а не буквальную версию из исходного кода. Например, буквальная строка @»C:\files.txt» будет отображаться в окне контрольных значений как «C:\\files.txt».

Строки формата

Строка формата — это строка, содержимое которой можно определить динамически во время выполнения. Строки формата создаются путем внедрения интерполированных выражений или заполнителей внутри фигурных скобок в строке. Весь код внутри фигурных скобок ( <. >) будет преобразован в значение и выходные данные как отформатированная строка во время выполнения. Существует два способа создания строк формата: интерполяция строк и составное форматирование.

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

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

Используйте интерполяцию для повышения удобства чтения и обслуживаемости кода. Интерполяция строк позволяет достичь тех же результатов, что и использование метода String.Format , но более простым и понятным способом.

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

Составное форматирование

String.Format использует заполнители в фигурных скобках, чтобы создать строку формата. В этом примере результат аналогичен выходным данным, получаемым с помощью метода интерполяции строк, описанного выше.

Подстроки

Подстрока — это последовательность символов, содержащихся в строке. Используйте метод Substring, чтобы создать новую строку из части исходной строки. Одно вхождение подстроки или несколько можно найти с помощью метода IndexOf. Используйте метод Replace, чтобы заменить все вхождения указанной подстроки новой строкой. Как и метод Substring, метод Replace фактически возвращает новую строку и не изменяет исходную строку. См. дополнительные сведения о поиске строк и изменении содержимого строк.

Доступ к отдельным символам

Используя нотацию массива со значением индекса, можно получить доступ только для чтения к отдельным символам, как показано в следующем примере:

Если вам необходимо изменить отдельные символы в строке и функций методов String вам недостаточно, используйте объект StringBuilder, чтобы изменить отдельные символы «на месте», а затем создайте новую строку для сохранения результатов с помощью методов StringBuilder. В следующем примере предположим, что необходимо определенным образом изменить исходную строку, а затем сохранить результаты для дальнейшего использования:

Строки NULL и пустые строки

Пустая строка — это экземпляр объекта System.String, который содержит нуль символов. Пустые строки часто используются в различных сценариях программирования для представления пустого текстового поля. Вы можете вызывать методы для пустых строк, так как они являются допустимыми объектами System.String. Пустые строки инициализируются следующим образом:

В отличие от пустых строк строка NULL не ссылается на экземпляр объекта System.String, поэтому любая попытка вызвать метод для строки NULL приводит к исключению NullReferenceException. Но вы можете использовать строки NULL в операциях объединения и сравнения с другими строками. В следующих примерах показаны случаи, в которых ссылка на строку NULL вызывает и не вызывает исключение:

Использование класса StringBuilder для быстрого создания строк

Операции со строками в .NET хорошо оптимизированы, и в большинстве случаев они не снижают производительность. Но в некоторых сценариях, например в сплошных циклах, которые выполняются сотни и тысячи раз, операции со строками могут повлиять на производительность. Класс StringBuilder создает строковый буфер, который ускоряет работу, если программа выполняет много операций над строками. Строка StringBuilder также позволяет заново присваивать отдельные символы, что не поддерживает встроенный строковый тип данных. Например, этот код изменяет содержимое строки без создания новой строки:

В этом примере объект StringBuilder используется для создания строки из набора числовых типов:

Строки, методы расширения и LINQ

Так как тип String использует IEnumerable , вы можете применять методы расширения, определенные для строк в классе Enumerable. Чтобы избежать визуального загромождения, эти методы исключены из IntelliSense для типа String, но все равно доступны. Можно также использовать выражения запроса LINQ в строках. Дополнительные сведения см. в документации по LINQ и строкам.

Источник

Тип String – строки и текст

1. Тип String

Тип String — один из самых используемых типов в Java. Возможно, вообще самый используемый. Это просто великолепный тип, ведь в таких переменных можно хранить текст. А еще, в отличие от типов int и double , у объектов типа String можно вызывать методы, и с помощью этих методов делать полезные и интересные вещи.

Кроме того, все объекты в Java (вообще все) могут быть преобразованы в тип String . Ну или, если сказать более корректно, все объекты в Java возвращают свое текстовое (строковое) представление. А название типа String пишется с большой буквы, т.к. этот тип является полноценным классом.

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

2. Создание переменных типа String

Тип String создан для хранения строк (текста). Чтобы создать в коде переменную , которая будет способна хранить текст , нужно воспользоваться командой:

Где имя — это имя переменной.

Команда Описание
Создается строковая переменная name
Создается строковая переменная message
Создается строковая переменная text

Так же, как с типами int и double , можно использовать краткую запись для создания нескольких переменных типа String :

3. Присваивание значений переменным типа String

Чтобы занести в переменную типа String значение, нужно воспользоваться командой

А вот и первое отличие типа от уже изученных. Все значения типа String представляют собой строки текста и должны быть заключены в двойные кавычки .

Команда Примечание
Переменная name содержит текст Аня
Переменная city содержит текст New York
Переменная message содержит текст Hello!

4. Инициализация переменных типа String

Как и в случае с типами int и double , переменные типа String можно инициализировать сразу при создании. Это, кстати, можно делать вообще со всеми типами в Java. Так что больше мы об этом говорить не будем.

Java-компилятор будет ругаться, если вы объявите переменную, не присвоив ей никакого значения и попробуете ее использовать.

Источник

Читайте также:  Что значит респектабельный внешний вид
Оцените статью