首页 > 后端开发 > C++ > 如何在 C# 中有效地将一种类型的列表转换为另一种类型?

如何在 C# 中有效地将一种类型的列表转换为另一种类型?

Linda Hamilton
发布: 2025-01-04 22:20:42
原创
516 人浏览过

How Can I Efficiently Cast a List of One Type to Another in C#?

更简洁地转换列表

在 C# 中,可以通过显式转换每个单独的项目来将项目列表从一种类型转换为另一种类型。这个过程非常耗时,并且会使代码变得混乱。有没有办法通过一次转换整个列表来简化这个过程?

最初的提案建议使用直接转换:

ListOfY = (List<Y>)ListOfX;
登录后复制

虽然这看起来合乎逻辑,但这是不可能的目前的 C#。不过,还有一个更简洁高效的解决方案:

List<Y> listOfY = listOfX.Cast<Y>().ToList();
登录后复制

此方法利用了 Cast 。扩展方法将列表中的每个项目转换为目标类型 Y。然后对生成的 IEnumerable 调用 ToList() 方法。创建一个新列表包含转换后的项目。

重要说明:

  • 包括使用 System.Linq;访问 Cast扩展方法。
  • 此方法转换单个项目,而不是列表本身。
  • 它不支持自定义转换运算符。
  • 如果源对象具有显式运算符方法 (框架4.0),此方法不起作用。

以上是如何在 C# 中有效地将一种类型的列表转换为另一种类型?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板