gpt4 book ai didi

c# - LINQ 的 Cast 方法表现出意外

转载 作者:太空宇宙 更新时间:2023-11-03 17:57:40 32 4
gpt4 key购买 nike

我想将字符串转换为字节数组。当我使用 LINQ 的 Cast 函数尝试此操作时,我得到一个“System.InvalidCastException”。为什么?
这是我尝试过的:

var x = "hallo";
var works = x.Select(c=>(byte)c).ToArray();
var doesNotWork = x.Cast<byte>().ToArray();

最佳答案

Enumerable.Cast 仅执行拆箱和引用转换。它不执行其他转换,例如内置值类型转换和用户定义转换。

在 .NET 3.5 SP1 之前,它实际上确实为您执行了更多的转换。我确信执行代码审查的人在博客上写过它,但我永远记不起它是谁。 (我一直认为是 Eric Lippert,但不是。)我会查一下。

我要说的一件事是,这可以得到更好的记录。

碰巧,这是 Bill Wagner's recent video 中的第一个谜题。 .

关于c# - LINQ 的 Cast 方法表现出意外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7031435/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com