2013-04-23 135 views
-2

你們可以指出這段代碼有什麼問題嗎?C#條件語句

我想要的是,如果有人以地球的形式回答,讓你說得對,如果不是的話,那你就錯了。

Console.WriteLine("What planet do we live on"); 

string name = Console.ReadLine(); 

if (name =earth) 
{ 
    Console.WriteLine("Yes, you're right"); 
} 
else 
{ 
    Console.WriteLine("You're wrong"); 
} 
Console.ReadLine(); 
+4

那麼問題是什麼? – 2013-04-23 06:51:57

+0

你想從這個怎麼知道? – Virus 2013-04-23 06:53:21

+1

我們試圖猜測你確切的問題是什麼。但請在您的問題中包含*錯誤詳情*。 – 2013-04-23 06:58:23

回答

1

您的狀況不正確。它應該是

if (name == "earth"){ } 

值也應引用以避免編譯器錯誤。

+0

謝謝你的隊友。我沒有對字符串使用雙引號。 – scylla 2013-04-23 07:04:09

+0

@scylla - 你也使用了一個'='(assignement)而不是'=='(比較)。 – Corak 2013-04-23 07:12:04

+0

不客氣':D'如果你有多種條件,'IF'語句或'Switch'可能比三元運算符更有效,就像Hossein所示。 – 2013-04-23 07:13:32

4

請注意,在下面的代碼^標誌:

Console.WriteLine("What planet do we live on"); 

string name = Console.ReadLine(); 

Console.WriteLine(name == "earth" ? "Yes, you're right" : "You are wrong"); 
         ^^^ ^
Console.ReadLine(); 
1
if (name == "earh") 
{ 
    Console.WriteLine("Yes, you're right"); 
} 
else 
{ 
    Console.WriteLine("You're wrong"); 
} 

您使用=代替==

你應該比較"earth"String),而不是earh

1

==平等對比運營商,而=分配在C#。因此,你必須使用==爲別人指出:

if(planet == earth) { 
} 

使用=將分配給earthplanet返回earth,而不是比較並返回一個bool

1
if (name == "earth") 
{ 
} 

當你檢查條件時,==應該在if中。

如果有單個=那麼它只是簡單地對這個值進行賦值。