Aşağıdaki kod , atanmamış yerel değişken "numberOfGroups" kullanımıyla sonuçlanır :
int numberOfGroups;
if(options.NumberOfGroups == null || !int.TryParse(options.NumberOfGroups, out numberOfGroups))
{
numberOfGroups = 10;
}
Bununla birlikte, bu kod iyi çalışıyor ( ReSharper bunun = 10
gereksiz olduğunu söylüyor ):
int numberOfGroups = 10;
if(options.NumberOfGroups == null || !int.TryParse(options.NumberOfGroups, out numberOfGroups))
{
numberOfGroups = 10;
}
Bir şey mi kaçırıyorum yoksa derleyici benden hoşlanmıyor ||
mu?
Bunu dynamic
sorunlara neden olacak şekilde daralttım ( options
yukarıdaki kodumda dinamik bir değişkendi). Soru hala duruyor, neden bunu yapamıyorum ?
Bu kod değil derleme:
internal class Program
{
#region Static Methods
private static void Main(string[] args)
{
dynamic myString = args[0];
int myInt;
if(myString == null || !int.TryParse(myString, out myInt))
{
myInt = 10;
}
Console.WriteLine(myInt);
}
#endregion
}
Ancak bu kod şunları yapar :
internal class Program
{
#region Static Methods
private static void Main(string[] args)
{
var myString = args[0]; // var would be string
int myInt;
if(myString == null || !int.TryParse(myString, out myInt))
{
myInt = 10;
}
Console.WriteLine(myInt);
}
#endregion
}
Bunda dynamic
bir faktör olacağını bilmiyordum .
out
Girdi olarak parametrenize iletilen değeri kullanmadığınızı bilecek kadar akıllı olduğunu düşünmeyin