Текст книги "C# 4.0: полное руководство"
Автор книги: Герберт Шилдт
Жанр:
Программирование
сообщить о нарушении
Текущая страница: 57 (всего у книги 83 страниц)
В классе Math
определен ряд стандартных математических операций, в том числе извлечение квадратного корня, вычисление синуса, косинуса и логарифмов. Класс Math
является статическим, а это означает, что все методы, определенные в нем, относятся к типу static
, объекты типа Math
не конструируются, а сам класс Math
неявно герметичен и не может наследоваться. Методы, определенные в классе Math
, перечислены в табл. 21.1, где все углы указаны в радианах.
В классе Math
определены также два следующих поля:
public const double Е
public const double PI
где E – значение основания натурального логарифма числа, которое обычно обозначается как е) a PI – значение числа пи.
Метод – Описание
public static double Abs(doublevalue) – Возвращает абсолютную величину value
public static float Abs(floatvalue) – Возвращает абсолютную величину value
public static decimal Abs(decimalvalue) – Возвращает абсолютную величину value
public static int Abs(int value) – Возвращает абсолютную величину value
public static short Abs(shortvalue) – Возвращает абсолютную величину value
public static long Abs(long value) – Возвращает абсолютную величину value
public static sbyte Abs(sbytevalue) – Возвращает абсолютную величину value
public static double Acos(double d) – Возвращает арккосинус d. Значение d должно на ходиться в пределах от -1 до 1
public static double Asin(double d) – Возвращает арксинус d. Значение d должно находиться в пределах от -1 до 1
public static double Atan(double d) – Возвращает арктангенс d
public static double Atan2(double y, double x) – Возвращает арктангенс частного от деления у/х
public static long BigMul(int a, int b) – Возвращает произведение а*b в виде значения типа long, исключая переполнение
public static double Ceiling(double a) – Возвращает наименьшее целое, которое представлено в виде значения с плавающей точкой и не меньше а. Так, если а равно 1,02, метод Ceiling() возвращает значение 2,0. А если а равно -1,02, то метод Ceiling() возвращает значение -1
public static double Ceiling(decimal d) – Возвращает наименьшее целое, которое представлено в виде значения десятичного типа и не меньше d. Так, если d равно 1,02, метод Ceiling() возвращает значение 2,0. А если d равно -1,02, то метод Ceiling() возвращает значение -1
public static double Cos(double d) – Возвращает косинус d
public static double Cosh(double d) – Возвращает гиперболический косинус d
public static int DivRem(int a, int b, out int result) – Возвращает частное от деления а / b, а остаток – в виде параметра result типа out -
public static long DivRem(long a, long b,out long result) – Возвращает частное от деления а / b, а остаток – в виде параметра result типа out
public static double Exp (double d)– Возвращает основание натурального логарифма е, возведенное в степень d
public static decimal Floor(decimal d) – Возвращает наибольшее целое, которое представлено в виде значения десятичного типа и не больше d. Так, если d равно 1,02, метод Floor() возвращает значение 1,0. А если d равно -1,02, метод Floor() возвращает значение -2
public static double Floor(double d) – Возвращает наибольшее целое, которое представлено в виде значения с плавающей точкой и не больше d. Так, если d равно 1,02, метод Floor() возвращает значение 1,0. А если d равно -1,02, метод Floor() возвращает значение -2
public static double IEEERemainder(doublex, double y) – Возвращает остаток от деления х/у
public static double Log(double d) – Возвращает натуральный логарифм значения d
public static double Log(double d, double newBase) – Возвращает натуральный логарифм по основанию newBase значения d
public static double Log10(double d) – Возвращает логарифм по основанию 10 значения d
public static double Max(double val1, double val2) – Возвращает большее из значений val1 и val2
public static float Max(float val1, float val2) – Возвращает большее из значений val1 и val2
public static decimal Max(decimalval1, decimal val2) – Возвращает большее из значений val1 и val2
public static int Max(int val1,intval2) – Возвращает большее из значений val1 и val2
public static short Max(short val1,shortval2) – Возвращает большее из значений val1 и val2
public static long Max(long val1,longval2) – Возвращает большее из значений val1 и val2
public static uint Max(uint val1,uintval2) – Возвращает большее из значений val1 и val2
public static ushort Max(ushortval1,ushortval2) – Возвращает большее из значений val1 и val2
public static ulong Max(ulongval1,ulongval2) – Возвращает большее из значений val1 и val2
public static byte Max(byte val1,byteval2) – Возвращает большее из значений val1 и val2
public static sbyte Max(sbyte val1,sbyteval2) – Возвращает большее из значений val1 и val2
public static double Min(doubleval1,doubleval2) – Возвращает меньшее из значений val1 и val2
public static float Min(floatval1,floatval2) – Возвращает меньшее из значений val1 и val2
public static decimal Min(decimalval1,decimal val2) – Возвращает меньшее из значений val1 и val2
public static int Min(int val1,intval2) – Возвращает меньшее из значений val1 и val2
public static short Min(short val1,shortval2) – Возвращает меньшее из значений val1 и val2
public static long Min(long val1,longval2) – Возвращает меньшее из значений val1 и val2
public static uint Min(uint val1,uintval2) – Возвращает меньшее из значений val1 и val2
public static ushort Min(ushortval1,ushortval2) – Возвращает меньшее из значений val1 и val2
public static ulong Min(ulong val1,ulongval2) – Возвращает меньшее из значений val1 и val2
public static byte Min(byte val1,byteval2) – Возвращает меньшее из значений val1 и val2
public static sbyte Min(sbyte val1,sbyteval2) – Возвращает меньшее из значений val1 и val2
public static double Pow(doublex,double y) – Возвращает значение х, возведенное в степень у (хy)
public static double Round(doublea) – Возвращает значение а, округленное до ближайшего целого числа
public static decimal Round(decimal d) – Возвращает значение d, округленное до ближайшего целого числа
public static double Round(doublevalue, intdigits) – Возвращает значение value, округленное до числа, количество цифр в дробной части которого равно значению параметра digits
public static decimal Round(decimald,intdigits) – Возвращает значение d, округленное до числа, количество цифр в дробной части которого равно значению digits
public static double Round(doublevalue, MidpointRoundingmode) – Возвращает значение value, округленное до ближайшего целого числа в режиме, определяемом параметром mode
public static decimal Round(decimald, MidpointRoundingmode) – Возвращает значение d, округленное до ближайшего целого числа в режиме, определяемом параметром mode
public static double Round(doublevalue,int digits,MidpointRounding mode) – Возвращает значение value, округленное до числа, количество цифр в дробной части которого равно значению digits, а параметр mode определяет режим округления
public static decimal Round(decimald,intdigits, MidpointRoundingmode) – Возвращает значение d, округленное до числа, количество цифр в дробной части которого равнозначению digits, а параметр mode определяет режим округления
public static int Sign(doublevalue) – Возвращает -1, если значение value меньше нуля; 0, если значение value равно нулю; и 1, если значение value больше нуля
public static int Sign(float value) – Возвращает -1, если значение value меньше нуля; 0, если значение value равно нулю; и 1, если значение value больше нуля
public static int Sign(decimalvalue) – Возвращает -1, если значение value меньше нуля; 0, если значение value равно нулю; и 1, если значение value больше нуля
public static int Sign(int value) – Возвращает -1, если значение value меньше нуля; 0, если значение value равно нулю; и 1, если значение value больше нуля
public static int Sign(short value) – Возвращает -1, если значение value меньше нуля; 0, если значение value равно нулю; и 1, если значение value больше нуля
public static int Sign(long value) – Возвращает -1, если значение value меньше нуля; 0, если значение value равно нулю; и 1, если значение value больше нуля
public static int Sign(sbyte value) – Возвращает -1, если значение value меньше нуля; 0, если значение value равно нулю; и 1, если значение value больше нуля
public static double Sin(doublea) – Возвращает синус числа а
public static double Sinh(doublevalue) – Возвращает гиперболический синус числа value
public static double Sqrt(double d) – Возвращает квадратный корень числа d
public static double Tan(doublea) – Возвращает тангенс числа а
public static double Tanh(doublevalue) – Возвращает гиперболический тангенс числа value
public static double Truncate(double d) – Возвращает целую часть числа d
public static decimal Truncate(decimal d) – Возвращает целую часть числа d
В приведенном ниже примере программы метод Sqrt()
служит для расчета гипотенузы по длине противоположных сторон прямоугольного треугольника согласно теореме Пифагора.
// Расчет гипотенузы по теореме Пифагора.
using System;
class Pythagorean {
static void Main() {
double s1;
double s2;
double hypot;
string str;
Console.WriteLine("Введите длину первой стороны треугольника: ");
str = Console.ReadLine();
s1 = Double.Parse(str);
Console.WriteLine("Введите длину второй стороны треугольника: ");
str = Console.ReadLine();
s2 = Double.Parse (str) ;
hypot = Math.Sqrt(s1 * s1 + s2 * s2);
Console.WriteLine("Длина гипотенузы равна " + hypot);
}
}
Ниже приведен один из возможных результатов выполнения этой программы.
Введите длину первой стороны треугольника: 3
Введите длину второй стороны треугольника: 4
Длина гипотенузы равна: 5
Далее следует пример программы, в которой метод Pow()
служит для расчета первоначальных капиталовложений, требующихся для получения предполагаемой будущей стоимости, исходя из годовой нормы прибыли и количества лет. Ниже приведена формула для расчета первоначальных капиталовложений.
первоначальные капиталовложения =
будущая стоимость / (1 + норма прибыли)количество лет
В вызове метода Pow() необходимо указывать аргументы типа double, поэтому норма прибыли и количество лет задаются в виде значений типа double
. А первоначальные капиталовложения и будущая стоимость задаются в виде значений типа decimal
.
/* Рассчитать первоначальные капиталовложения, необходимые для получения заданной будущей стоимости, исходя из годовой нормы прибыли и количества лет. */
using System;
class Initiallnvestment {
static void Main() {
decimal initInvest; // первоначальные капиталовложения
decimal futVal; // будущая стоимость
double numYears; // количество лет
double intRate; // годовая норма прибыли
string str;
Console.Write("Введите будущую стоимость: ");
str = Console.ReadLine();
try {
futVal = Decimal.Parse(str);
}
catch (FormatException exc) {
Console.WriteLine(exc.Message);
return;
}
Console.Write("Введите норму прибыли (например, 0.085): ");
str = Console.ReadLine();
try {
intRate = Double.Parse(str);
}
catch (FormatException exc) {
Console.WriteLine(exc.Message);
return;
}
Console.Write("Введите количество лет: ");
str = Console.ReadLine();
try {
numYears = Double.Parse(str);
}
catch (FormatException exc) {
Console.WriteLine(exc.Message);
return;
}
initInvest =
futVal / (decimal)Math.Pow(intRate + 1.0, numYears);
Console.WriteLine(«Необходимые первоначальные капиталовложения: {0:C}», initInvest);
}
}
Ниже приведен один из возможных результатов выполнения этой программы.
Введите будущую стоимость: 10000
Введите норму прибыли (например, 0.085): 0.07
Введите количество лет: 10
Необходимые первоначальные капиталовложения: $5,083.49
Структуры, соответствующие встроенным в C# типам значений, были представлены в главе 14, где они упоминались в связи с преобразованием строк, содержащих числовые значения в удобочитаемой форме, в эквивалентные двоичные значения. В этом разделе структуры .NET рассматриваются более подобно.
Имена структур .NET и соответствующие им ключевые слова, обозначающие типы значений в С#, перечислены в приведенной ниже таблице.
Имя структуры в .NET
Имя типа значения в C#
System.Boolean
bool
System.Char
char
System.Decimal
decimal
System.Double
double
System.Single
float
System.Intl6
short
System.Int32
int
System.Int64
long
System.Ulntl6
ushort
System.UInt32
uint
System.UInt64
ulong
System.Byte
byte
System.Sbyte
sbyte
Используя члены, определенные в этих структурах, можно выполнять операции над значениями простых типов данных. Все перечисленные выше структуры рассматриваются далее по порядку.
–
ПРИМЕЧАНИЕ
Некоторые методы, определенные в структурах, соответствующих встроенным в C# типам значений, принимают параметры типа IFormatProvider
или NumberStyles
. Тип
IFormatProvider
вкратце описывается далее в этой главе, а тип NumberStyles
представляет собой перечисление из пространства имен System.Globalization
. Вопросы форматирования подробнее рассматриваются в главе 22.
–
Структуры целочисленных типов данных
Ниже перечислены структуры целочисленных типов данных.
Byte
SByte
Int16
Uint16
Int32
UInt32
Int64
Uint64
Каждая из этих структур содержит одинаковое количество членов. В табл. 21.2 для примера перечислены члены структуры Int32
. Аналогичные члены в виде методов имеются и у других структур, за исключением целочисленного типа, который они представляют.
Помимо перечисленных выше методов, в структурах целочисленных типов данных определены следующие поля типа const
.
MaxValue
MinValue
В каждой структуре эти поля содержат наибольшее и наименьшее значения, допустимые для данных соответствующего целочисленного типа.
Во всех структурах целочисленных типов данных реализуются следующие интерфейсы: IComparable, IComparable
и IEquatable
, где параметр обобщенного типа Т заменяется соответствующим типом данных. Например, в структуре Int32
вместо Т подставляется тип int
.
Таблица 21.2. Методы поддерживаемые структурой int
Метод – Назначение
public int CompareTo(objectvalue) – Сравнивает числовое значение вызывающего объекта со значением value. Возвращает нуль, если сравниваемые значения равны; отрицательное значение, если вызывающий объект имеет меньшее значение; и, наконец, положительное значение, если вызывающий объект имеет большее значение
public int CompareTo(int value) – Сравнивает числовое значение вызывающего объекта со значением value. Возвращает нуль, если сравниваемые значения равны; отрицательное значение, если вызывающий объект имеет меньшее значение; и, наконец, положительное значение, если вызывающий объект имеет большее значение
public override bool Equals(objectobj) – Возвращает логическое значение true, если значение вызывающего объекта равно значению параметра obj
public bool Equals(int obj) – Возвращает логическое значение true, если значение вызывающего объекта равно значению параметра obj
public override int GetHashCode() – Возвращает хеш-код для вызывающего объекта
public TypeCode GetTypeCode() – Возвращает значение перечисления TypeCode
для эквивалентного типа. Например, для структуры Int32
возвращается значение TypeCode.Int32
public static int Parse(strings) – Возвращает двоичный эквивалент числа, заданного в виде символьной строки s. Если числовое значение не представлено в строке так, как определено в структуре данного типа, то генерируется исключение
public static int Parse(strings, IformatProvider provider) – Возвращает двоичный эквивалент числа, заданного в виде символьной строки s, с использованием форматов данных, характерных для конкретной культурной среды и определяемых параметром provider. Если числовое значение не представлено в строке так, как определено в структуре данного типа, то генерируется исключение
public static int Parse(strings, NumberStylesstyles) – Возвращает двоичный эквивалент числа, заданного в виде символьной строки s, с использованием данных о стилях, определяемых параметром styles. Если числовое значение не представлено в строке так, как определено в структуре данного типа, то генерируется исключение
public static int Parse(strings, NumberStylesstyles, IformatProvider provider) – Возвращает двоичный эквивалент числа, заданного в виде строки символьной s, с использованием данных о стилях, определяемых параметром styles, а также форматов данных, характерных для конкретной культурной среды и определяемых параметром provider. Если числовое значение не представлено в строке так, как определено в структуре данного типа, то генерируется исключение
public override string ToString() – Возвращает строковое представление значения вызывающего объекта
public string ToString(string format) – Возвращает строковое представление значения вызывающего объекта, как указано в форматирующей строке, определяемой параметром format
public string ToString(IformatProvider provider) – Возвращает строковое представление значения вызывающего объекта с использованием форматов данных, характерных для конкретной культурной среды и определяемых параметром provider
public string ToString(string format, IformatProvider provider) – Возвращает строковое представление значения вызывающего объекта, как указано в форматирующей строке, определяемой параметром format, но с использованием форматов данных, характерных для конкретной культурной среды и определяемых параметром provider
public static bool TryParse(string s,out intresult) – Предпринимает попытку преобразовать числовое значение, заданное в виде символьной строки s, в двоичное значение. При успешной попытке это значение сохраняется в параметре result и возвращается логическое значение true, а иначе возвращается логическое значение false, в отличие от метода Parse(), который генерирует исключение при неудачном исходе преобразования
public static bool TryParse(string s, NumberStylesstyles, IformatProvider provider,out int result) – Предпринимает попытку преобразовать числовое значение, заданное в виде символьной строки s, в двоичное значение с использованием информации о стилях, обозначаемых параметром styles, а также форматов данных, характерных для конкретной культурной среды и определяемых параметром provider. При успешной попытке это значение сохраняется в параметре result и возвращается логическое значение true, а иначе возвращается логическое значение false, в отличие от метода Parse(), который генерирует исключение при неудачном исходе преобразования
Структуры типов данных с плавающей точкой
Типам данных с плавающей точкой соответствуют только две структуры: Double
и Single
. Структура Single
представляет тип float
. Ее методы перечислены в табл. 21.3, а поля – в табл. 21.4. Структура Double
представляет тип double
.
Ее методы перечислены в табл. 21.5, а поля – в табл. 21.6. Как и в структурах целочисленных типов данных, при вызове метода Parse()
или ToString()
из структур типов данных с плавающей точкой можно указывать информацию, характерную для конкретной культурной среды, а также данные форматирования.
Таблица 21.3. Методы, поддерживаемые структурой Single
Метод – назначение
public int CompareTo(objectvalue) – Сравнивает числовое значение вызывающего объекта со значением value. Возвращает нуль, если сравниваемые значения равны; отрицательное число, если вызывающий объект имеет меньшее значение, и, наконец, положительное значение, если вызывающий объект имеет большее значение
public int CompareTo(floatvalue) – Сравнивает числовое значение вызывающего объекта со значением value. Возвращает нуль, если сравниваемые значения равны; отрицательное число, если вызывающий объект имеет меньшее значение, и, наконец, положительное значение, если вызывающий объект имеет большее значение
public override bool Equals(objectobj) – Возвращает логическое значение true, если значение вызывающего объекта равно значению obj
public bool Equals(float obj) – Возвращает логическое значение true, если значение вызывающего объекта равно значению obj
public override int GetHashCode() – Возвращает хеш-код для вызывающего объекта
public TypeCode GetTypeCode() – Возвращает значение из перечисления TypeCode для структуры Single, т.е. TypeCode.Single
public static bool Islnfinity(floatf) – Возвращает логическое значение true, если значение f представляет плюс или минус бесконечность. В противном случае возвращает логическое значение false
public static bool IsNaN(floatf) – Возвращает логическое значение true, если значение f не является числовым. В противном случае возвращает логическое значение false
public static bool IsPositivelnfinity(float f) - Возвращает логическое значение true, если значение f представляет плюс бесконечность. В противном случае возвращает логическое значение false
public static bool IsNegativelnfinity(float f) – Возвращает логическое значение true, если значение f представляет минус бесконечность. В противном случае возвращает логическое значение false
public static float Parse(strings) – Возвращает двоичный эквивалент числа, заданного в виде символьной строки s. Если в строке не представлено числовое значение типа float, то генерируется исключение
public static float Parse(strings, IformatProvider provider) – Возвращает двоичный эквивалент числа, заданного в виде символьной строки s, с использованием форматов данных, характерных для конкретной культурной среды и определяемых параметром provider. Если в строке не представлено числовое значение типа float, то генерируется исключение
public static float Parse(strings, NumberStylesstyles) – Возвращает двоичный эквивалент числа, заданного в виде символьной строки s, с использованием данных о стилях, определяемых параметром styles. Если в строке не представлено числовое значение типа float, то генерируется исключение
public static float Parse(strings, NumberStylesstyles, IformatProvider provi der) – Возвращает двоичный эквивалент числа, заданного в виде символьной строки s, с использованием форматов данных, характерных для конкретной культурной среды и определяемых параметром provider, а также сведений о стилях, обозначаемых параметром styles. Если в строке не представлено числовое значение типа float, то генерируется исключение
public override string ToString() – Возвращает строковое представление значения вызывающего объекта
public string ToString(stringformat) – Возвращает строковое представление значения вызывающего объекта, как указано в форматирующей строке, определяемой параметром format
public string ToString(IformatProvider provi der) – Возвращает строковое представление значения вызывающего объекта с использованием форматов данных, характерных для конкретной культурной среды и определяемых параметром provider
public string ToString(stringformat, IformatProvider provider) – Возвращает строковое представление значения вызывающего объекта, как указано в форматирующей строке, определяемой параметром format, но с использованием форматов данных, характерных для конкретной культурной среды и определяемых параметром provider
public static bool TryParse(strings,out floatresult) – Предпринимает попытку преобразовать число, заданное в виде символьной строки s, в значение типа float. При успешной попытке это значение сохраняется в параметре result и возвращается логическое значение true, а иначе возвращается логическое значение false, в отличие от метода Parse(), который генерирует исключение при неудачном исходе преобразования
public static bool TryParse(strings, NumberStylesstyles, IformatProvider provider,out float result) – Предпринимает попытку преобразовать числовое значение, заданное в виде символьной строки s, в значение типа float, как указано в форматирующей строке, определяемой параметром format, но с использованием форматов данных, характерных для конкретной культурной среды и определяемых параметром provider, a, также сведений о стилях, обозначаемых параметром styles. При успешной попытке это значение сохраняется в параметре result и возвращается логическое значение true, а иначе возвращается логическое значение false, в отличие от метода Parse(), который генерирует исключение при неудачном исходе преобразования
Таблица 21.4. Поля, поддерживаемые структурой Single
Поле – Назначение
public const float Epsilon – Наименьшее ненулевое положительное значение
public const float MaxValue – Наибольшее значение, допустимое для данных типа float
public const float MinValue – Наименьшее значение, допустимое для данных типа float
public const float NaN – Значение, не являющееся числом
public const float NegativeInfinity – Значение, представляющее минус бесконечность
public const float PositiveInfinity – Значение, представляющее плюс бесконечность
public const float Epsilon
Таблица 21.5. Методы, поддерживаемые структурой Double
Метод – Назначение
public int CompareTo(object value) – Сравнивает числовое значение вызывающего объекта со значением value. Возвращает нуль, если сравниваемые значения равны; отрицательное число, если вызывающий объект имеет меньшее значение, и, наконец, положительное значение, если вызывающий объект имеет большее значение
public int CompareTo(double value) – Сравнивает числовое значение вызывающего объекта со значением value. Возвращает нуль, если сравниваемые значения равны; отрицательное число, если вызывающий объект имеет меньшее значение, и, наконец, положительное значение, если вызывающий объект имеет большее значение
public override bool Equals(objectobj) – Возвращает логическое значение true, если значение вызывающего объекта равно значению obj
public bool Equals(double obj) – Возвращает логическое значение true, если значение вызывающего объекта равно значению obj
public override int GetHashCode() – Возвращает хеш-код для вызывающего объекта
public TypeCode GetTypeCode() – Возвращает значение из перечисления TypeCode для структуры Double, т.е. TypeCode.Double
public static bool Islnfinity(double d) – Возвращает логическое значение true, если значение d представляет плюс или минус бесконечность. В противном случае возвращает логическое значение false
public static bool IsNaN(double d) Возвращает логическое значение true, если значение d не является числовым. В противном случае возвращает логическое значение false
public static bool IsPositivelnfinity(double d) – Возвращает логическое значение true, если значение d представляет плюс бесконечность. В противном случае возвращает логическое значение false
public static bool IsNegativelnfinity(double d) – Возвращает логическое значение true, если значение d представляет минус бесконечность. В противном случае возвращает логическое значение false
public static double Parse(strings) – Возвращает двоичный эквивалент числа, заданного в виде символьной строки s. Если в строке не представлено числовое значение типа double, то генерируется исключение
public static double Parse(strings, IFormatProviderprovider) – Возвращает двоичный эквивалент числа, заданного в виде символьной строки s, с использованием форматов данных, характерных для конкретной культурной среды и определяемых параметром provider. Если в строке не представлено числовое значение типа double, то генерируется исключение
public static double Parse (strings, NumberStylesstyles) – Возвращает двоичный эквивалент числа, заданного в виде символьной строки s, с использованием данных о стилях, определяемых параметром styles. Если в строке не представлено числовое значение типа double, то генерируется исключение
public static double Parse(strings, NumberStylesstyles, IFormatProviderprovider) – Возвращает двоичный эквивалент числа, заданного в виде символьной строки s, с использованием форматов данных, характерных для конкретной культурной среды и определяемых параметром provider, а также данных о стилях, обозначаемых параметром styles. Если в строке не представлено числовое значение типа double, то генерируется исключение
public override string ToString() – Возвращает строковое представление значения вызывающего объекта
public string ToString(stringformat) – Возвращает строковое представление значения вызывающего объекта, как указано в форматирующей строке, определяемой параметром format
public string ToString(IformatProvider provider) – Возвращает строковое представление значения вызывающего объекта с использованием форматов данных, характерных для конкретной культурной среды и определяемых параметром provider
public string ToString(stringformat, IformatProviderprovider) – Возвращает строковое представление значения вызывающего объекта, как указано в форматирующей строке, определяемой параметром format, но с использованием форматов данных, характерных для конкретной культурной среды и определяемых параметром provider
public static bool TryParse(strings,out doubleresult) – Предпринимает попытку преобразовать число, заданное в виде символьной строки s, в значение типа double. При успешной попытке это значение сохраняется в параметре result и возвращается логическое значение true, а иначе возвращается логическое значение false, в отличие от метода Parse(), который генерирует исключение при неудачном исходе преобразования
public static bool TryParse(strings,NumberStylesstyles,IFormatProviderprovider,out doubleresult) – Предпринимает попытку преобразовать числовое значение, заданное в виде символьной строки s, в значение типа double, как указано в форматирующей строке, определяемой параметром format, но с использованием форматов данных, характерных для конкретной культурной среды и определяемых параметром provider, а также сведений о стилях, обозначаемых параметром styles. При успешной попытке это значение сохраняется в параметре result и возвращается логическое значение true, а иначе возвращается логическое значение false, в отличие от метода Parse(), который генерирует исключение при неудачном исходе преобразования