簡體   English   中英

返回值的隱式類型轉換

[英]Implicit type conversion of return value

我有一個返回 long 的函數,但我返回的值是一個整數。 我知道隱式轉換,但從技術上講,函數返回類型與返回值的類型不匹配。 代碼編譯並運行,沒有警告或錯誤。 這里發生了什么?

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;
}

因此,如果您希望第二個工作正常,只需將第一個視為正是這樣做的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM