0
我有一個帶有字符作爲鍵和堆棧值的字典。我想檢查所有的堆棧是空的。對C#字典中的每個值應用布爾測試
var groupStacks = new Dictionary<char, Stack<int>>();
groupStacks.Add('(', new Stack<int>());//parentheses stack
groupStacks.Add('{', new Stack<int>());//braces stack
groupStacks.Add('\'', new Stack<int>());//single quotes stack
groupStacks.Add('"', new Stack<int>());//double quotes stack
groupStacks.Add('[', new Stack<int>());//brackets stack
我想到的是,從邏輯上講,我需要通過字典來遍歷和檢查每個堆棧,但我不希望有寫一個for循環這一點。
或'如果(groupStacks.Values.All(V => v.Any())!){}' – esskar
字典沒有實現擴展方法,它實現了'IEnumerable',Enumerable類中的所有擴展方法都以'IEnumerable '(不是IEnumerable)作爲第一個參數,這就是爲什麼你可以在'Dictionary'上調用所有LINQ擴展方法的原因。 –
好吧,我想在技術上它不是Dictionary來實現這些方法,這是一個很好的觀點。我會編輯一下,看看我能否讓這個陳述更加正確。 – DCShannon