C#關於輸入參數是數組的元素,導致的數據變化問題

比如

void TestInput(int data)
{
    sleep(20000);
    console.writeline(data.toString());
}
void Main()
{
    int[]data=new int[2];
    data[0]=1;
    data[1]=2;
    int i=0;
    Task.run(()=>
    {
        TestInput(data[i]);
    })
    i=1;
    console.Readkey();
}

當前狀態下,數組元素data[i]作爲方法的輸入參數,輸入的是i所對應的數組的引用,當外部i改變時,data[i]的值也相應改變。所以當前屏幕輸出爲2,而不是1.

(手敲代碼,抱歉)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章