Convert.ToString(obj)
Преобразует указанное значение в его эквивалентное строковое представление. Вернет String.Empty
, если указано значение null
.
obj.ToString()
Возвращает строку, которая представляет текущий объект. Этот метод возвращает читаемую человеком строку, чувствительную к культуре. Например, для экземпляра класса Double, значение которого равно нулю, реализация Double.ToString может вернуть «0,00» или «0,00» в зависимости от текущей культуры пользовательского интерфейса. Реализация по умолчанию возвращает полностью определенное имя типа объекта.
Этот метод может быть переопределен в производном классе для возврата значений, которые имеют значение для этого типа. Например, базовые типы данных, такие как Int32, реализуют ToString, так что он возвращает строковую форму значения, которое представляет объект. Производные классы, которые требуют большего контроля над форматированием строк, чем обеспечивает ToString, должны реализовывать IFormattable, метод ToString которого использует свойство CurrentCulture текущего потока.
(string)obj
Это операция приведения, а не вызов функции. Используйте его, если вы уверены, что объект имеет тип string ИЛИ у него есть неявный или явный оператор, который может преобразовать его в строку. Вернет null
, если объект null AND of type String or of type which implements custom cast to string operator. See examples.</p>
<h2><code>obj as string
Безопасная операция приведения. То же, что и выше, но вместо того, чтобы генерировать исключение, оно вернет null
, если операция приведения не удалась.
Подсказка : Не забудьте использовать CultureInfo с obj.ToString()
и Convert.ToString(obj)
Пример:
12345.6D.ToString(CultureInfo.InvariantCulture); // returns 12345.6
12345.6D.ToString(CultureInfo.GetCultureInfo("de-DE")); // returns 12345,6
Convert.ToString(12345.6D, CultureInfo.InvariantCulture); // returns 12345.6
Convert.ToString(12345.6D, CultureInfo.GetCultureInfo("de-DE")); // 12345,6
Convert.ToString(test); // String.Empty, "test" is null and it's type
// doesn't implement explicit cast to string oper.
Convert.ToString(null); // null
(string) null; // null
(string) test; // wont't compile, "test" is not a string and
// doesn't implement custom cast to string operator
(string) test; // most likely NullReferenceException,
// "test" is not a string,
// implements custom cast operator but is null
(string) test; // some value, "test" is not a string,
// implements custom cast to string operator
null as string; // null
Вот пример пользовательского оператора приведения:
public class Test
{
public static implicit operator string(Test v)
{
return "test";
}
}
</code>