我有一个返回长整型的函数,但我返回的值是一个整数。我知道隐式强制转换,但从技术上讲,函数返回类型与返回值的类型不匹配。代码编译和运行时没有警告或错误。这是怎么回事?
public static long GetIndex(int Index){
int [] marks = new int[5] {99, 98, 92, 97, 95};
return marks[Index];
}
public static void Main(string[] args)
{
long n = GetIndex(3);
}
是的,return 语句将应用隐式转换。下面是一个简单的示例:
public long Method()
{
int value = 10;
return value;
}
这相当于:
public long Method()
{
int value = 10;
long valueToReturn = value;
return valueToReturn;
}
因此,如果您期望第二个有效,只需将第一个视为这样做。