Tostring c что это

String. To String Метод

Определение

Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

Преобразует значение данного экземпляра в String.

Перегрузки

Возвращает этот экземпляр String; реальное преобразование не осуществляется.

Возвращает этот экземпляр String; реальное преобразование не осуществляется.

ToString(IFormatProvider)

Возвращает этот экземпляр String; реальное преобразование не осуществляется.

Параметры

(Зарезервирован.) Объект, предоставляющий сведения о форматировании, связанные с определенным языком и региональными параметрами.

Возвращаемое значение

Реализации

Комментарии

provider зарезервировано и сейчас не участвует в этой операции.

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

Применяется к

ToString()

Возвращает этот экземпляр String; реальное преобразование не осуществляется.

Возвращаемое значение

Примеры

Комментарии

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

Источник

Single. To String Метод

Определение

Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

Преобразует числовое значение данного экземпляра в эквивалентное ему строковое представление.

Перегрузки

Преобразует числовое значение данного экземпляра в эквивалентное ему строковое представление с использованием указанного формата и сведений об особенностях форматирования для данного языка и региональных параметров.

Преобразует числовое значение данного экземпляра в эквивалентное строковое представление с использованием указанного формата.

Преобразует числовое значение данного экземпляра в эквивалентное ему строковое представление с использованием указанных сведений об особенностях форматирования для данного языка и региональных параметров.

Преобразует числовое значение данного экземпляра в эквивалентное ему строковое представление.

ToString(String, IFormatProvider)

Преобразует числовое значение данного экземпляра в эквивалентное ему строковое представление с использованием указанного формата и сведений об особенностях форматирования для данного языка и региональных параметров.

Параметры

Строка числового формата.

Объект, предоставляющий сведения о форматировании для определенного языка и региональных параметров.

Возвращаемое значение

Реализации

Примеры

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

Комментарии

ToString(String, IFormatProvider)Метод форматирует Single значение в указанном формате указанного языка и региональных параметров. Если вы хотите использовать формат по умолчанию или параметры языка и региональных параметров, используйте другие перегрузки ToString метода следующим образом:

Использование форматаДля языка и региональных параметровИспользование перегрузки
Формат по умолчанию («G»)Культура по умолчанию (текущий)ToString()
Формат по умолчанию («G»)Конкретный язык и региональные параметрыToString(IFormatProvider)
Конкретный форматКультура по умолчанию (текущий)ToString(String)

format Параметр может быть любым допустимым описателем стандартного числового формата, за исключением D и X, а также любого сочетания настраиваемых описателей числового формата. Если format параметр имеет null значение или является пустой строкой, то возвращаемые значения для этого экземпляра форматируются с помощью описателя общего числового формата («G»).

.NET обеспечивает обширную поддержку форматирования, которая подробно описывается в следующих разделах форматирования:

Дополнительные сведения о спецификаторах числовых форматов см. в разделе строки стандартных числовых форматов и строки настраиваемых числовых форматов.

Дополнительные сведения о форматировании см. в разделе Типы форматирования.

provider Параметр — это IFormatProvider реализация, GetFormat метод которой возвращает NumberFormatInfo объект. Как правило, provider является CultureInfo объектом или NumberFormatInfo объектом. provider Параметр предоставляет сведения о языке и региональных параметрах, используемые при форматировании. Если provider параметр имеет null значение, возвращаемое значения форматируется с помощью NumberFormatInfo объекта для текущего языка и региональных параметров.

По умолчанию возвращаемое значение содержит только 7 цифр точности, хотя для внутренних целей поддерживается не более 9 цифр. Если значение этого экземпляра превышает 7 цифр, ToString возвращает PositiveInfinitySymbol или NegativeInfinitySymbol вместо ожидаемого числа. Если требуется дополнительная точность, укажите format с помощью спецификации формата «G9», которая всегда возвращает 9 цифр точности, или «R», которая возвращает 7 цифр, если число может быть представлено с точностью до этой цифры или 9 цифр, если число может быть представлено только с максимальной точностью.

См. также раздел

Применяется к

ToString(String)

Преобразует числовое значение данного экземпляра в эквивалентное строковое представление с использованием указанного формата.

Параметры

Строка числового формата.

Возвращаемое значение

Исключения

Примеры

В следующем примере определяется числовое значение и форматируется как денежное значение с помощью строки стандартного числового формата «C», а в качестве числового значения для трех десятичных разрядов используется строка стандартного числового формата «N». Строки результатов форматируются с помощью соглашений языка и региональных параметров en-US. Дополнительные сведения о строках числового формата см. в разделе строки стандартных числовых форматов и строки настраиваемых числовых форматов.

В следующем примере показано несколько Single значений, использующих каждый из поддерживаемых стандартных описателей числового формата вместе с двумя строками настраиваемого числового формата. Одна из этих строк настраиваемого формата показывает, как заполнить Single значение начальными нулями. При преобразовании числовых значений в строки в примере используются соглашения о форматировании для языка и региональных параметров en-US.

Комментарии

ToString(String)Метод форматирует Single значение в указанном формате, используя правила текущего языка и региональных параметров. Если вы хотите использовать формат по умолчанию («G» или «общий») или указать другой язык и региональные параметры, используйте другие перегрузки ToString метода следующим образом:

Использование форматаДля языка и региональных параметровИспользование перегрузки
Формат по умолчанию («G»)Культура по умолчанию (текущий)ToString()
Формат по умолчанию («G»)Конкретный язык и региональные параметрыToString(IFormatProvider)
Конкретный форматКонкретный язык и региональные параметрыToString(String, IFormatProvider)

format Параметр может быть любым допустимым описателем стандартного числового формата, за исключением D и X, а также любого сочетания настраиваемых описателей числового формата. Если параметр format имеет null значение или является пустой строкой, то возвращаемый результат форматируется с помощью описателя общего числового формата («G»).

.NET обеспечивает обширную поддержку форматирования, которая подробно описывается в следующих разделах форматирования:

Дополнительные сведения о спецификаторах числовых форматов см. в разделе строки стандартных числовых форматов и строки настраиваемых числовых форматов.

Дополнительные сведения о форматировании см. в разделе Типы форматирования.

По умолчанию возвращаемое значение содержит только 7 цифр точности, хотя для внутренних целей поддерживается не более 9 цифр. Если значение этого экземпляра превышает 7 цифр, ToString(String) возвращает PositiveInfinitySymbol или NegativeInfinitySymbol вместо ожидаемого числа. Если требуется дополнительная точность, укажите format с помощью спецификации формата «G9», которая всегда возвращает 9 цифр точности, или «R», которая возвращает 7 цифр, если число может быть представлено с точностью до этой цифры или 9 цифр, если число может быть представлено только с максимальной точностью.

Источник

Классы и объекты C#: класс System.Object

Метод ToString в C#

Метод ToString() возвращает строковое представление объекта. Так, для базовых типов метод вернет их строковое значение, например:

В случае использования метода ToString() для классов, метод выведет полное название класса с указанием пространства имен, в котором этот класс был определен. Метод является виртуальным ( virtual ), поэтому мы можем его переопределить. Например:

Метод GetHashCode в C#

Метод GetHashCode() позволяет возвратить некоторое числовое значение, соответствующее объекту или, как ещё говорят, его хэш-код. По этому числу можно, например, сравнивать объекты между собой, сортировать их и т.д.. Мы можем определять различные алгоритмы генерации хэш-кожа или же взять реализацию из базового типа:

Метод Equals в C#

Метод ReferenceEquals в C#

Метод GetType и получение типа объекта в C#

Метод GetType() позволяет получить тип объекта. Например:

Отличие методов Equals() и ReferenceEquals()

Во-первых, несмотря на то, что оба этих метода по умолчанию действуют одинаково — сравнивают два объекта по ссылкам, тем не менее, так как Equals() может переопределяться в наследниках, то этот метод часто используется в классах-наследниках для сравнения двух объектов именно по значению полей, как было показано выше.

Во-вторых, механизм работы Equals() и ReferenceEquals() различается в зависимости от типа данных. Это различие наглядно показано в следующем примере:

Итого

Сегодня мы рассмотрели основные методы класса Object — родителя для всех классов в C#. Часть методов этого класса являются виртуальными, что позволяет их переопределять в классах-наследниках и реализовать, например, свою логику сравнения двух объектов. Также рассмотрены различия двух похожих методов Equals() и ReferenceEquals() и предложен алгоритм использования того или иного метода в зависимости от типа данных переменной.

Источник

Object. To String Метод

Определение

Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

Возвращает строку, представляющую текущий объект.

Возвращаемое значение

Строка, представляющая текущий объект.

Комментарии

Типы часто переопределяют Object.ToString метод, чтобы предоставить более подходящее строковое представление определенного типа. Типы также часто перегружают Object.ToString метод, чтобы обеспечить поддержку для строк формата или форматирования с учетом языка и региональных параметров.

Метод Object. ToString () по умолчанию

Переопределение метода Object. ToString ()

Категория типаПереопределяет Object. ToString ()Поведение
КлассНедоступноНедоступно
structureДа ( ValueType.ToString )То же, что Object.ToString()
ПеречислениеДа ( Enum.ToString() )Имя элемента
ИнтерфейснетНедоступно
ДелегатнетНедоступно

Перегрузка метода ToString

В следующем примере метод перегружается ToString для возврата результирующей строки, содержащей значения различных полей Automobile класса. Он определяет четыре строки формата: G, которая возвращает имя модели и год; D, возвращающее имя модели, год и число дверей; C, возвращающее имя модели, год и число цилиндров; и, который возвращает строку со всеми четырьмя значениями полей.

В следующем примере вызывается перегруженный Decimal.ToString(String, IFormatProvider) метод для вывода форматирования значения валюты с учетом языка и региональных параметров.

Дополнительные сведения о строках форматирования и форматировании с учетом языка и региональных параметров см. в разделе Типы форматирования. Строки формата, поддерживаемые числовыми значениями, см. в разделе строки стандартных числовых форматов и строки настраиваемых числовых форматов. Сведения о строках формата, поддерживаемых значениями даты и времени, см. в разделе строки стандартных форматов даты и времени и строки настраиваемых форматов даты и времени.

Расширение метода Object. ToString

Есть несколько вариантов для создания результирующей строки, которая вам нужна.

Если тип является массивом, объектом коллекции или объектом, реализующим IEnumerable IEnumerable интерфейсы или, можно перечислить его элементы с помощью foreach инструкции в C# или For Each. Next конструкции в Visual Basic.

если класс не sealed (в C#) или NotInheritable (в Visual Basic), можно разработать класс-оболочку, который наследует от базового класса, метод которого необходимо Object.ToString настроить. Как минимум, для этого необходимо выполнить следующие действия.

Реализуйте все необходимые конструкторы. Производные классы не наследуют конструкторы базовых классов.

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

В следующем примере определяется класс-оболочка для List класса. Он переопределяет Object.ToString метод для вывода значения каждого метода коллекции, а не полного имени типа.

В следующем примере определяются два метода, расширяющие List класс: ToString2 метод без параметров, а также ToString метод с String параметром, представляющим строку формата.

примечания для среда выполнения Windows

Windows классы среды выполнения, написанные на языке C# или Visual Basic, могут переопределять ToString метод.

среда выполнения Windows и интерфейс IStringable

Если управляемые объекты вызываются машинным кодом или кодом, написанным на языках, таких как JavaScript или C++/CX, они выглядят как реализующие IStringable. Среда CLR автоматически направляет вызовы из IStringable. ToString в, Object.ToString Если IStringable не реализован в управляемом объекте.

так как среда clr auto реализует IStringable для всех управляемых типов в приложениях Windows Store, рекомендуется не предоставлять собственную IStringable реализацию. реализация IStringable может привести к непредвиденному поведению при вызове ToString из среда выполнения Windows, C++/cx или JavaScript.

если вы решили реализовать IStringable в общедоступном управляемом типе, экспортированном в среда выполнения Windows компоненте, применяются следующие ограничения.

Интерфейс IStringable можно определить только в связи «класс реализует» следующим образом:

Невозможно реализовать IStringable в интерфейсе.

Нельзя объявить параметр типа IStringable.

IStringable не может быть типом возвращаемого значения метода, свойства или поля.

Невозможно скрыть реализацию IStringable из базовых классов с помощью определения метода, как показано ниже:

Вместо этого реализация IStringable. ToString должна всегда переопределять реализацию базового класса. Реализацию ToString можно скрыть только путем вызова этого метода в строго типизированном экземпляре класса.

Примечания для тех, кто наследует этот метод

При реализации собственных типов следует переопределить ToString() метод, чтобы он возвращал значения, имеющие смысл для этих типов. Производные классы, которым требуется больший контроль над форматированием, чем ToString() предоставляет, могут реализовывать IFormattable интерфейс. Его ToString(String, IFormatProvider) метод позволяет определять строки формата, управляющие форматированием, и использовать IFormatProvider объект, который может обеспечить форматирование для определенного языка и региональных параметров.

Переопределения ToString() метода должны соответствовать следующим рекомендациям: — Возвращаемая строка должна быть понятной и удобочитаемой для людей.

— Возвращаемая строка должна уникальным образом идентифицировать значение экземпляра объекта.

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

ToString() Переопределение не должно возвращать Empty строку или значение null.

ToString() Переопределение не должно вызывать исключение.

— Если строковое представление экземпляра зависит от языка и региональных параметров или может быть отформатировано несколькими способами, реализуйте IFormattable интерфейс.

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

— Если тип реализует метод синтаксического анализа (или Parse TryParse метод, конструктор или какой-либо другой статический метод, который создает экземпляр типа из строки), следует убедиться, что строка, возвращаемая ToString() методом, может быть преобразована в экземпляр объекта.

Источник

Enum. To String Метод

Определение

Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

Преобразует значение этого экземпляра в эквивалентное ему строковое представление.

Перегрузки

Преобразует значение этого экземпляра в эквивалентное ему строковое представление.

Эта перегрузка метода является устаревшей. Используйте ToString(String).

Преобразует числовое значение этого экземпляра в эквивалентное ему строковое представление с использованием указанного формата.

Перегруженная версия метода является устаревшей, вместо нее следует использовать метод ToString().

ToString()

Преобразует значение этого экземпляра в эквивалентное ему строковое представление.

Возвращаемое значение

Строковое представление значения этого экземпляра.

Примеры

В следующем примере показано преобразование перечислимого значения в строку.

Комментарии

Возвращаемое значение форматируется с помощью общего описателя формата («G»). То есть если объект FlagsAttribute не применяется к этому перечислимому типу и существует именованная константа, равная значению этого экземпляра, то возвращаемое значение является строкой, содержащей имя константы. Если FlagsAttribute применяется, и существует сочетание одной или нескольких именованных констант, равное значению этого экземпляра, то возвращаемое значение является строкой, содержащей разделенный разделителем список имен констант. В противном случае возвращаемое значение является строковым представлением числового значения данного экземпляра. Дополнительные сведения о форматировании значений перечисления см. в разделе строки формата перечисления. Дополнительные сведения о форматировании в целом см. в разделе Типы форматирования.

Примечания для тех, кто вызывает этот метод

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *