我想将字符串转换为字节数组.当我通过使用LINQ的Cast函数来尝试这个时,我得到一个'System.InvalidCastException'.为什么?这是我尝试过的:
var x = "hallo";
var works = x.Select(c=>(byte)c).ToArray();
var doesNotWork = x.Cast<byte>().ToArray();
Run Code Online (Sandbox Code Playgroud)
Enumerable.Cast 仅执行拆箱和参考转化.它不执行其他的转换,例如内置的值类型一和用户定义的转换.
.NET 3.5 SP1之前,它实际上没有执行,而更多的转换为你.我确信执行代码审查的人在博客上写了这篇文章,但我永远不会记得它是谁.(我一直以为是Eric Lippert,但事实并非如此.)我会仔细查看.
我要说的一件事是,这可以更好地记录下来.
碰巧,这是Bill Wagner最近视频中的第一个益智游戏.
| 归档时间: |
|
| 查看次数: |
374 次 |
| 最近记录: |