本文告诉大家如果遇到 double 数组转 float 数组千万不要使用 Cast ,一般都使用 select 强转。


最近在开发Avalonia ,有大神告诉我,下面的代码可以这样写

dashes = pen.DashStyle.Dashes.Select(x => (float)x).ToArray();

修改为

dashes = pen.DashStyle.Dashes.Cast<float>.ToArray()

Improve tiny performance

但是实际上不能这样写,因为 cast 无法转换 float 和 double 因为不存在一个类同时继承 float 和 double ,所以如果使用这个方法转换,就无法运行

System.InvalidCastException:“Unable to cast object of type 'System.Double' to type 'System.Single'.”

所以建议的方法是使用 select ,在里面强转。

尝试运行下面代码

            List<double> titHruxvrvaa = new List<double>()
{
1d,
2d,
3d
}; var traStqjq = titHruxvrvaa.Cast<float>().ToArray();//System.InvalidCastException:“Unable to cast object of type 'System.Double' to type 'System.Single'.” foreach (var temp in traStqjq)
{
Console.WriteLine(temp);
}

我搭建了自己的博客 https://lindexi.gitee.io/ 欢迎大家访问,里面有很多新的博客。只有在我看到博客写成熟之后才会放在csdn或博客园,但是一旦发布了就不再更新

如果在博客看到有任何不懂的,欢迎交流,我搭建了 dotnet 职业技术学院 欢迎大家加入


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

最新文章

  1. 分布式的Id生成器
  2. 转:如何用EXCEL表运用FV函数
  3. Android课程---Activity 的生命周期
  4. 关于Yii2中count方法的使用
  5. NGUI之scroll view制作,以及踩的坑总结
  6. Bug修复问题
  7. Hadoop学习笔记(1) ——菜鸟入门
  8. django 学习-16 Django会话Cookie
  9. C# MVC 自学笔记—6 编辑方法和编辑视图
  10. ASP.NET MVC 5 学习教程:修改视图和布局页
  11. C# devExpress GridControl 行中行 子行 多级行
  12. 史上最难的一道Java面试题 (分析篇)
  13. 移动端HTML5性能优化
  14. js判断浏览器是否支持webGL
  15. element 时间选择器——年
  16. HTML中的table导出为Excel文件
  17. mybatis-generator-core 自动生成实体和Mapper
  18. dos批量导入不受信任的证书及软件限制策略的应用
  19. Chapter 6(树)
  20. linux 清空catalina.out日志 不需要重启tomcat

热门文章

  1. Python re.sub函数
  2. linux命令格式及who、whoami、su和passwd命令
  3. day39-Spring 08-Spring的AOP:基于AspectJ的注解
  4. RNN与 LSTM 网络
  5. oracle表复杂查询--创建数据库实例
  6. Ubuntu修改root密码,ssh 允许root用户登录
  7. poj 2184 Cow Exhibition(01背包)
  8. AtCoder Regular Contest 082 D Derangement
  9. Vue组件跨层级通信
  10. poj 1085 Triangle War (状压+记忆化搜索)