TypeConverter vs. Convert vs. TargetType.Parse

Насколько мне известно, существует как минимум 3 способа преобразования типов данных в .NET:


с использованием System.ComponentModel.TypeConverter

var conv = System.ComponentModel.TypeDescriptor.GetConverter(typeof(int));
var i1 = (int)conv.ConvertFrom("123");

с использованием System.Convert .ChangeType () :

var i2 = (int) Convert.ChangeType("123", typeof (int));

с использованием методов Parse / TryParse целевого типа:

var i3 = int.Parse("123"); // or TryParse



Есть ли какие-либо рекомендации или практические правила , когда какой метод использовать для преобразования между базовыми типами данных .NET (особенно из строки в какой-либо другой тип данных)?

39
задан M4N 10 August 2011 в 12:20
поделиться