嗯......如果這樣的:
// Extra details:
// Key: 'stringInfo' Value: Information from NestedRoutine2.
// Key: 'IntInfo' Value: -903
// Key: 'DateTimeInfo' Value: 7/29/2013 10:50:13 AM
// Key: 'ExtraInfo' Value: Information from NestedRoutine1.
// Key: 'MoreExtraInfo' Value: More information from NestedRoutine1.
是列表中的所有關鍵的是,Exception.Data包含,那麼它爲什麼會成爲問題,如果他們是爲了,當你可以做一些事情像這樣:
string[] exceptionList = { "stringInfo", "IntInfo", "DateTimeInfo", "ExtraInfo", "MoreExtraInfo" };
foreach (string exceptionName in exceptionList) {
if (myData.Exception.Data.ContainsKey(exceptionname)) {
// do something with that exception key/value pair
}
}
「IDictionary」不保證任何順序,但是「IDictionary」的實現可能會這樣做。就我所見,.NET 4.x中的實現是一個內部類ListDictionaryInternal,就我所見,它使用一個鏈接列表來保持順序。然而,在沒有文件保證這種行爲的情況下,依靠它是不明智的。 – Joe