[英]Is it acceptable to only use the 'else' portion of an 'if-else' statement?
[英]If-Else statement only performing else
我正在嘗試使用 SteamKit2 為 Steam 創建一個聊天機器人。 我在一個文本文檔中有一組預定義的消息,程序可以讀取這些消息,但是當收到的消息不在此列表中時,我希望它說出特定的響應。 我嘗試使用 if-else 語句,但是當我向機器人發送消息時,它只回復 else 響應,而不是預定義的響應。
while ((rLine = sReader.ReadLine()) != null) {
string text = rLine.Remove(rLine.IndexOf('|') - 1); //message | response
string response = rLine.Remove(0, rLine.IndexOf('|') + 2) ;
string realText = text.ToLower();
if (callback.Message.Contains(realText) || callback.Message.Contains(text))
{
steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, response);
Console.WriteLine("Someone has messaged me, and I replied with an automated message.");
sReader.Close();
return;
} else {
steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "I don't know what you mean. Could you maybe write it a bit differently? <3");
Console.WriteLine("Someone has messaged me, and it wasn't on my auto-response list: {0}",callback.Message);
sReader.Close();
return;
}
}
謝謝。
重新寫成這樣:
while ((rLine = sReader.ReadLine()) != null) {
string text = rLine.Remove(rLine.IndexOf('|') - 1); //message | response
string response = rLine.Remove(0, rLine.IndexOf('|') + 2) ;
string realText = text.ToLower();
if (callback.Message.Contains(realText) || callback.Message.Contains(text))
{
steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, response);
Console.WriteLine("Someone has messaged me, and I replied with an automated message.");
sReader.Close();
return;
}
}
steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "I don't know what you mean. Could you maybe write it a bit differently? <3");
Console.WriteLine("Someone has messaged me, and it wasn't on my auto-response list: {0}",callback.Message);
sReader.Close();
return;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.