首页 >后端开发 >C++ >在 C# 中是否有更短的方法将列表转换为列表?

在 C# 中是否有更短的方法将列表转换为列表?

Susan Sarandon
Susan Sarandon原创
2025-01-03 11:05:40854浏览

Is There a Shorter Way to Cast a List to a List in C#?

从列表进行转换的较短语法到列表

将项目列表从一种类型转换为另一种类型通常可以使用以下方法来实现:

List<Y> ListOfY = new List<Y>();

foreach (X x in ListOfX)
    ListOfY.Add((Y)x);

但是,此方法需要将每个类型转换为单独的项目,这可能很麻烦。有没有更简洁的方法可以一步投射整个列表?

回答

是的,演员 System.Linq 命名空间中的扩展方法提供了用于转换列表的简洁语法。以下是如何使用它:

List<Y> listOfY = listOfX.Cast<Y>().ToList();

请记住以下几点:

  • 导入 using System.Linq;命名空间。
  • 此方法转换列表中的每个项目,而不是列表本身。 ToList()方法用于创建新的List。与铸造的物品。
  • 铸造>>不支持自定义转换运算符。在这种情况下,您可能需要诉诸前面所示的显式转换循环方法。
  • Cast不适用于具有显式运算符方法的对象(框架 4.0)。

以上是在 C# 中是否有更短的方法将列表转换为列表?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn