有时,当将任意对象数组传递给Activator时,我会看到这种表示法:
new [] {5, "Five"}
在其他情况下,似乎需要命名的对象字典,我看到了:
new {Numeric = 5, Textual = "Five"}
第二个表达式究竟创建了一个数组呢?
最佳答案
第一个示例是object
的数组。它包含两个对象:int
5
和string
"Five"
。第二个是匿名类型的数组。它包含一个对象。一个对象具有两个属性,值为int Numeric
的5
和值为string Textual
的"Five"
。
第二个是更显式和类型安全的,但它是匿名类型,在本地上下文之外没有用。第一种在某些情况下可能很有用,例如通过反射将参数传递给方法。
关于c# - new object [] {}和new [] {}有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16218354/