Bắt một InvalidCastException khi cố gắng một cái gì đó như thế này:Không thể chuyển đổi Danh sách <KeyValuePair <...,...>> thành IEnumerable <object>?
IEnumerable<object> test = (IEnumerable<object>)new List<KeyValuePair<string, int>>();
Tuy nhiên, điều này đã làm công việc:
IEnumerable<object> test = (IEnumerable<object>)new List<Dictionary<string, int>>();
Vì vậy, sự khác biệt lớn là gì? Tại sao một KeyValuePair không được chuyển đổi thành một đối tượng?
Cập nhật: Tôi có lẽ nên chỉ ra rằng điều này đã làm công việc:
object test = (object)KeyValuePair<string,string>;
Ouch. Đúng, điều đó giải thích nó. –