作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我们有两种引用类型:A
和 B
, 并且 A 实现了隐式转换运算符(到 B):
class A
{
private B b;
public static implicit operator B(A a) { return a.b; }
}
class B
{
}
A
数组的最佳(简洁和/或快速)方法是什么?到
B
的数组?
最佳答案
有效且相当直接的一件事是使用 Linq:
A[] a = new A[5];//initialize elements
B[] b = a.Select(anA => (B)anA).ToArray();
B[] b2 = a.Cast<B>.ToArray();//throws InvalidCastException
B[] b = Array.ConvertAll(a, elem => (B) elem);
B[] b = Array.ConvertAll(a,
new Converter<A, B>(delegate(A elem) { return (B) elem; }));
B[] b = Array.ConvertAll(a, delegate(A elem) { return (B) elem; });
关于.NET Convert 隐式可转换类型数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14523213/
我是一名优秀的程序员,十分优秀!