Какой из следующих кодов является самым быстрым / лучшим методом преобразования некоторого объекта x?
int myInt = (int)x;
or
int myInt = Convert.ToInt32(x);
or
int myInt = Int32.Parse(x);
или в случае строки 's'
int myInt;
Int32.TryParse(s, out myInt);
Мне любопытно, какой из них работает быстрее всего для типов данных, у которых есть метод в Convert, а не только для целых чисел. Я просто использовал int в качестве примера.
Изменить: этот случай возник из-за получения информации из таблицы данных. Будет ли (int) работать быстрее всех?
Из некоторых тестов, когда объект x = 123123123, int работает быстрее всего, как многие говорили. Когда x является строкой, Parse выполняется быстрее всего (примечание: приведение вызывает исключение). Что мне действительно любопытно, так это то, как они работают, когда значение извлекается следующим образом:
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"]);
}