2017-07-02 17 views
0

我在Unity中學習C#但我收到一個奇怪的錯誤。誤差是說 「表達式表示variable', where a方法組」預計」通過從c中的方法分配值來聲明字符串時出錯#

這是給出錯誤的行:

string walkingDir = walkingDir(); 

這是walkingDir()方法:

private string walkingDir(){ 
return "str";} 

更換

string walkingDir = walkingDir(); 

string walkingDir = "str"; 

工程。

回答

0

你得到的錯誤,因爲該函數的名稱是-一樣的變量,都「walkingDir」的名稱。

你必須要麼重命名的函數或變量。

string walkingDir = getWalkingDir(); 

private string getWalkingDir() 
{ 
    return "str"; 
} 

另一種方式來解決這個沒有重新命名變量是使用this關鍵字來告訴編譯器使用本地函數名,而不是變量名。

這應該工作太:

string walkingDir = this.walkingDir(); 

private string walkingDir() 
{ 
    return "str"; 
} 

儘管這應該工作,我建議你防止命名您的變量或函數的名稱,相同的。

+0

啊。 JAVA沒有這樣的規則。 – WVrock

+0

嗯,這是C#,我不是Java程序員,也不知道這是真的。這個規則是有道理的,因爲如果你把它們命名爲相同的話,你怎麼知道你指的是哪個變量。 – Programmer

+0

()允許我區分。 – WVrock

1

您的問題是您的變量和方法具有相同的名稱。改變你的變量的名稱,它會編譯。例如。

string walkDir = walkingDir();