我有一个将对象转换为对象数组的函数。
我知道我可以做到这一点
new [] {obj}
但是数组是Type对象[]。我希望数组是obj.GetType()返回的类型!
这是否可以以高效的方式实现?
答案 0 :(得分:1)
您可以使用Array类的静态方法。
请参阅http://msdn.microsoft.com/en-us/library/zb3cfh7k.aspx
完整的例子可能是
object o = ...;// Some object you want to convert into a an array
var arrayVar = Array.CreateInstance(o.GetType(), 1);
答案 1 :(得分:1)
T[] ToObjectArray<T>(T item)
{
return new T[] { item };
}
您可以像
一样使用它int[] arr1 = ToObjectArray(5);
Color[] arr2 = ToObjectArray(Color.Red);