.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ı?
hocam örnek süper olmuş teşekkür ederim
int.Parse(deger.ToString()); derken iki metod çağırmamız da etkilidir galiba değil mi? Zira iki metod çağırma iki stack doldurma işlemi değil midir?
Kesinlikle iki metod çağırmanın kötü yönde etkisi mevcut.
ikisinde tek metot çağırarak test ettim aralarıda hız farkı yok