5 分钟前我有一个真实场景,我需要将 aGuid[]
变成object[]
.
最简单快捷的解决方法是输入:
var dataset = inputArray.Select(item => (object)item).ToArray();
可读性和一切,但我不确定它是否非常有效(当然可能是编译器对其进行了一些优化)。
您建议最好从一个类型转到另一个类型(假设它是可转换的,跳过整数解析等)?
编辑: Cast<T>
扩展方法当然也可以使用。
var listOfGuids = new Guid[]{Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid()};
var listOfStrings = new string[]{"foo", "bar"};
var objectListGuidsLinq = listOfGuids.Cast<object>().ToArray();
var objectListStringsLinq = listOfStrings.Cast<object>().ToArray();
var objectListStringsDirect = (object[]) listOfStrings;