将非泛型集合转换为泛型集合的最佳方法

2023-12-30

将非泛型集合转换为泛型集合的最佳方法是什么?有没有办法 LINQ 呢?

我有以下代码。

public class NonGenericCollection:CollectionBase
{
    public void Add(TestClass a)
    {
        List.Add(a);
    }
}

public class ConvertTest
{
    public static List<TestClass> ConvertToGenericClass( NonGenericCollection    collection)
    {
        // Ask for help here.
    }
}

Thanks!


由于您可以保证它们都是 TestClass 实例,因此请使用LINQ Cast 方法 http://msdn.microsoft.com/en-us/library/bb341406.aspx:

public static List<TestClass> ConvertToGenericClass(NonGenericCollection collection)
{
   return collection.Cast<TestClass>().ToList();
}

编辑:如果您只想要(可能)异构集合的 TestClass 实例,请使用 OfType 对其进行过滤:

public static List<TestClass> ConvertToGenericClass(NonGenericCollection collection)
{
   return collection.OfType<TestClass>().ToList();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将非泛型集合转换为泛型集合的最佳方法 的相关文章

随机推荐

  • LongListSelector 和 DataTemplateSelector

    我正在使用 LongListSelector 来实现我的项目的列表或网格显示 为此 我创建了一个 DataTemplateSelector 并在运行时更改 LayoutMode 属性 这是可行的 但 DataTemplateSelector
  • 未处理的拒绝(错误):无法加载“WebPortal”的设置 - ASP.NET Core React

    我创建了一个 ASP NET Core 3React项目 我不断收到此错误 未处理的拒绝 错误 无法加载 WebPortal 的设置 GET https localhost 44367 configuration WebPortal htt
  • Spring框架的隐藏特性? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何修复错误“无法使用类型为 ((AnyObject!, NSError!) -> Void) 的参数列表调用 'findObjectInBackgroundWithBlock'

    对于下面的代码 得到Can t invoke findObjectInBackgroundWithBlock with an argument list of type AnyObject NSError gt Void 错误并且无法在后台
  • 如何仅使用 numpy 和 PIL 检测图像翻译

    给定两个图像 我需要检测两者之间是否存在平移偏移 我只能使用 numpy 和 PIL 这个帖子 https stackoverflow com questions 37584977 translate image using pil展示了如
  • 返回其自身类型的方法的接口

    我有一个情况 我正在上课 class Foo Foo Bar return new Foo 现在我想为它创建一个界面 class IFoo Bar 问号应该用什么代替 每个类都应该返回它自己的类型 而不是 Foo 下面的解决方案有效 但看起
  • 在某些视图中隐藏渲染页面 Razor

    在我的 mvc 应用程序中 我制作了一个页脚并像这样嵌入它 div class off canvas wrap div class inner wrap Html Action Menu Site div div
  • Android 无需开启蓝牙即可进行蓝牙扫描

    我正在创建一个具有低功耗蓝牙的应用程序 我发现了一件有趣的事情 我知道对于API level 23或更高版本 除了蓝牙之外 您还需要授予位置权限才能进行扫描 但我不知道即使从设置中关闭蓝牙也可以扫描 BLE 设备 我关闭了蓝牙 但定位功能仍
  • 如何从队列中获取特定元素?

    Unlike ArrayList 没有get int index 中的方法Queue检索指定位置的元素 有人请告诉我如何实现这一目标Queue Thanks 通过索引访问元素不是队列概念的一部分 如果您需要通过索引访问元素 您需要一个列表
  • MediaRecorder 在 Android 上启动视频捕获时出现问题

    我正在尝试开发一个应用程序 除其他外 它还可以录制用户的视频 因此 如果有前置摄像头 我需要使用前置摄像头捕获视频 我构建了一个相机预览 效果很好 我使用 Android How To Sites 构建了 MediaRecorder 并进行
  • Django:带条件的 ModelForm

    我正在尝试创建一个表单变量 默认玩家等级为 0 他可以更改名字 当他达到1级后 他可以更改名字和头像 当他达到3级时 他可以更改名字 头像和职业 ETC 模型 py class Player models Model level model
  • 是否允许使用多个非类型模板参数包?

    temp param p11 说 在 N4527 中 函数模板的模板参数包后面不应跟有另一个模板参数 除非该模板参数可以从函数模板的参数类型列表推导出来或具有默认参数 在这样的背景下non type模板参数包 不能有默认参数 那么到底需要为
  • C# 图表从数据表添加多个系列

    我从数据库中检索了几个大小各异的数据表 这 2 个中的一个只是一个示例 See the structure here I managed to create the 2 different series and have them show
  • 使用流添加到 azure blob 存储

    我正在尝试添加一个IFormFile通过 net core Web API 接收到 azure blob 存储 这些是我设置的属性 static internal CloudStorageAccount StorageAccount gt
  • C# 泛型的反约束

    灵感来自Phil Haack 对 null 或空合并的尝试 http haacked com archive 2010 06 16 null or empty coalescing aspx 我正在尝试编写一些扩展方法string对象 以及
  • 使用 jQuery/ajax 进行基本身份验证

    我正在尝试创建基本身份验证页面 其中我的表单包含三个字段 username password 拨款类型 提交表单时 我只想以 JSON 格式在 HTML 上显示服务器返回的响应 我对 Web 服务的 AJAX 调用也需要授权要设置的标题 但
  • 如何使用 Java 正则表达式捕获并重用匹配项?

    我试图记住在 Java 中进行查找替换正则表达式匹配的正确符号 说我有绳子 String s My name is Eric and I have a bee called Eric and a fish called Wanda 我想做如
  • 如何设置PyQt5 Qtimer以指定的时间间隔更新?

    我想根据 15 FPS 的帧速率更新 Qtimer 所以我的 def update 每 0 06 秒接收一个信号 你能帮助我吗 我在下面附加了一个代码示例 其中我的 setInterval 输入是 1 15 但我不知道这是否是正确的方法 谢
  • Pg-promise 性能提升:冲突

    我正在尝试遵循 pg promise 库作者推荐的性能模式here https github com vitaly t pg promise wiki Performance Boost 基本上 Vitaly 建议使用插入来这样做 var
  • 将非泛型集合转换为泛型集合的最佳方法

    将非泛型集合转换为泛型集合的最佳方法是什么 有没有办法 LINQ 呢 我有以下代码 public class NonGenericCollection CollectionBase public void Add TestClass a L