我正在製作一個siri-like AI的控制檯應用程序,使用隨機但合適的答案來回答您的問題。我將這些答案和有效問題存儲在列表中,但我需要一種方法來檢查用戶提出的問題。我現在正在使用if語句,但恐怕以後會開始引發問題,並佔用比需要更多的空間。它看起來像這樣:如何在switch語句中使用字符串列表?
if (question[0] == Console.ReadLine())
{
Console.Clear();
randIndex = rand.Next(0, 3);
Console.WriteLine(state[randIndex]);
Discussion();
}
if (question[1] == Console.ReadLine())
{
Console.Clear();
randIndex = rand.Next(0, 4);
Console.WriteLine(joke[randIndex]);
Discussion();
}
if (question[2] == Console.ReadLine())
{
Console.Clear();
randIndex = rand.Next(0, 2);
Console.WriteLine(yourName[randIndex]);
Discussion();
}
我想不過使用switch語句,這是怎麼我做它:
for (int i = 0; i < question.Count; i++)
{
switch (question[i])
{
case 1:
Console.Clear();
randIndex = rand.Next(0, 3);
Console.WriteLine(state[randIndex]);
break;
}
}
這裏唯一的問題是,我發現了一個在「1」中出現錯誤,表示「不能將類型'int'隱式轉換爲'字符串'。我還嘗試用「案例問題[0]:」替換 「案例1」:「並且出現一個錯誤,指出」期望有一個常量值「。任何幫助,將不勝感激!
'question'的類型是什麼? – Pikoh
該消息是如此明確,你正在比較問題到一個int我的意思是一個字符串到一個int –
我想它應該是'case'1「:或'case」SomeContent「:'? – jAC