ทำไมการเขียนครั้งแรกและครั้งที่สองถึงทำงาน แต่ไม่ใช่ครั้งสุดท้าย มีวิธีที่ฉันสามารถอนุญาตให้ทั้ง 3 คนและตรวจพบว่าเป็น 1, (int) 1 หรือฉันผ่านไปแล้วหรือไม่? และทำไมคนหนึ่งถึงได้รับอนุญาต แต่คนสุดท้าย? การได้รับอนุญาตครั้งที่สอง แต่ไม่ใช่ครั้งสุดท้ายที่พัดใจของฉัน
การสาธิตเพื่อแสดงข้อผิดพลาดในการคอมไพล์
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
นำแสดงโดยปริยายดังนั้นเป็นไปไม่ได้ที่ว่าทำไมคุณต้องเขียน