Какой из следующих кодов является наиболее быстрой/лучшей практикой для преобразования некоторого объекта x?
int myInt = (int)x;
или
int myInt = Convert.ToInt32(x);
или
int myInt = Int32.Parse(x);
или в случае строки '
int myInt;
Int32.TryParse(s, out myInt);
Мне любопытно, для чего выполняется самый быстрый для типов данных, которые имеют метод в Convert, а не только для ints. Я просто использовал int в качестве примера.
Изменить: этот случай возник из-за получения информации из данных. Will (int) все еще работает быстрее всего?
Из некоторого тестирования, когда объект x = 123123123, int выполняет самый быстрый, как многие говорили. Когда x является строкой, Parse работает быстрее (примечание: cast бросает исключение). Мне действительно интересно, как они запускаются, когда значение извлекается следующим образом:
foreach(DataRow row in someTable.Rows)
{
myInt = (int)row["some int value"];
myInt2 = Int.Parse(row["some int value"]);
myInt2 = Convert.ToInt32(row["some int value"]);
}