最初と2番目の書き込みは機能するが、最後は機能しないのはなぜですか?3つすべてを許可して1(int)1であるか、それとも渡されたかを検出できる方法はありますか?そして、本当になぜそれが許されるのですか?2つ目は許可されていますが、最後は許可されていません。
using System;
class Program
{
public static void Write(short v) { }
static void Main(string[] args)
{
Write(1);//ok
Write((int)1);//ok
int i=1;
Write(i);//error!?
}
}
(short) i
。そのため、を記述する必要があります。