|
|
1
5
因为,通过Reflector查看代码时,Cast不会尝试将任何隐式的Cast运算符(Linq Cast代码针对各种特殊情况进行了大量优化,但没有考虑到这一方向)考虑在内(因为许多.NET语言不会这样做)。 在没有考虑到思考和其他事情的情况下,泛型没有提供任何现成的方法来在任何情况下考虑这些额外的东西。 编辑:一般来说,更复杂的设施,如隐式/显式、相等运算符等,一般不由像LINQ这样的通用设施处理。 |
|
|
2
2
如果需要,还可以使用此功能进行转换的铸造:
http://adventuresdotnet.blogspot.com/2010/06/better-more-type-safe-alternative-to.html |
|
|
3
1
|
|
|
4
0
List items = new List{new Class2{Test2 = 9}};
foreach (Class1 item in (from x in items select (Class1)x))
{
Console.WriteLine(item.Test1);
}
|