.Net Framework 2.0 da
C# ile
object tipi bir nesneyi alıp bunu
integer bir değere dönüştürürken acaba hangisi daha performanslıdır :
object deger = 1492;
int.Parse(deger.ToString()); // Bu mudur?
Convert.ToInt32(deger); // Yoksa bu mu?
Lutz'un Reflector'ü ile mscorlib.dll'i açıp kodları incelediğimizde kesin yargıya ulaşamıyoruz. En iyisi gözlerimizle görmek diyerek konu hakkında minik bir uygulama yazdım.

public partial class Form1 : Form
{
object kurban = 1492;
int sonuc;
private void btnConvertTo_Click(object sender,
EventArgs e)
{
for (int i = 0; i < 9000000; i++)
{
sonuc = Convert.ToInt32(kurban);
}
MessageBox.Show("Bitti!");
}
private void btnIntParse_Click(object sender,
EventArgs e)
{
for (int i = 0; i < 9000000; i++)
{
sonuc = int.Parse(kurban.ToString());
}
MessageBox.Show("Bitti!");
}
}
Sonuçlara baktığımızda "ToString + int.Parse" butonuna tıkladığımızda 6sn sonra "Bitti!" mesajını görürken, "Convert.ToInt32" butonu 1sn içinde bize "Bitti!" mesajını gösterebiliyor.
Sizce hangisi daha performanslı?