Aşağıdaki kod’da (a%b==0)?1:0 ifadesi ile bunun if ile yapılmışı arasındaki performans farkını ortaya koymaya çalıştım. Tabiki kısa if bloğumuz daha hızlı çalışıyor.
static void Main(string[] args)
{
Console.WriteLine("short if clause start:"+DateTime.Now.ToLongTimeString());
int Cift=0;
Int32[] j = new Int32[100000000];
Console.WriteLine("short if clause end:" + DateTime.Now.ToLongTimeString());
Cift = 0;
foreach (Int32 i in j)
{
Cift+= (i% 2 == 0) ? 1 : 0;
}
Console.WriteLine("long if clause start:" + DateTime.Now.ToLongTimeString());
foreach (Int32 i in j)
{
if (i % 2 == 0)
Cift++;
else
Cift += 0;
}
Console.WriteLine("long if clause end:" + DateTime.Now.ToLongTimeString());
Console.ReadLine();
}
follow: