我正在學習c#,我嘗試了一些簡單的方法:輸入一些以逗號分隔的標籤以返回消息。這個想法是,代碼應該過濾掉我分裂成數組的所有標籤。C#如何通過標籤數組搜索字典鍵
定義變量:
Dictionary<string[], string> messages = new Dictionary<string[], string>();
messages.Add(new string[] { "greeting", "hello", "hei", "hi" }, "Hello!");
messages.Add(new string[] { "greeting", "bye", "buh-bye", "sayonara" }, "Bye!");
獲取標籤:
string[] tags;
tags.Add("greeting");
tags.Add("hello");
名單和迭代:
List<string> lista = new List<string>();
foreach(string tag in e.GetArg("Tag").Split(','))
{
foreach (KeyValuePair<string[], string> entry in gifs)
{
if (entry.Key.Contains(tag))
{
lista.Add(entry.Value);
}
}
}
這裏的問題是,它增加了每一個遇到的項目爲列表中的每個標籤,甚至是再見項目。我可以使用一組標籤過濾嗎?或者我需要通過更多次,每次獲得所需的(s)?
試圖執行此操作並對其進行擴展,但出現此錯誤。 [鏈接](http://imgur.com/a/EUiK0)。 另外我看到你的變量字典有作爲簡單的字符串的關鍵,但我使用項目的字符串[]作爲關鍵,這是否與這樣的工作? – yomisimie
o thats因爲你有一個字符串[]鍵作爲在詞典中的鍵,我有字符串作爲鍵,只是一秒鐘,我會解決它 –
它比我有更好,但問題仍然存在。最後,我需要一個匹配所有標籤的數組,現在我有一個匹配任何標籤的數組。 – yomisimie