Пользуюясь тем, что это первый пост в этом году, хочу всех поздравить уже
с натупившим Новым Годом! Хотелось бы пожелать всем успехов, и реализации
своих целей в этом году!
Ну а теперь, о техническом.
Сегодня, пример с нашей предыдущей В этом примере, компилятор справедливо выдаст ошибку времени компиляции,говорящую о том, что отловлено переполнение. using System;
namespace CSharp
{
class Program
{
static void Main(string[] args)
{
Int32 val = Int32.MaxValue + 1;
}
}
}
НО теперь если попробовать перенести такой код, в значение аргумента по умолчанию,
то компилятор скомпилирует, и даже выдаст результат "-2147483648". :-)using System;
namespace CSharpFeatures
{
class Program
{
static void Main(string[] args)
{
M();
}
public static void M(int i = Int32.MaxValue + 1)
{
Console.WriteLine(i);
}
}
}