有时,当将任意对象数组传递给Activator时,我会看到这种表示法:

new [] {5, "Five"}


在其他情况下,似乎需要命名的对象字典,我看到了:

new {Numeric = 5, Textual = "Five"}


第二个表达式究竟创建了一个数组呢?

最佳答案

第一个示例是object的数组。它包含两个对象:int 5string "Five"。第二个是匿名类型的数组。它包含一个对象。一个对象具有两个属性,值为int Numeric5和值为string Textual"Five"

第二个是更显式和类型安全的,但它是匿名类型,在本地上下文之外没有用。第一种在某些情况下可能很有用,例如通过反射将参数传递给方法。

关于c# - new object [] {}和new [] {}有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16218354/

10-12 12:44
查看更多