【问题标题】:Check if List<Dynamic> is contain a object检查 List<Dynamic> 是否包含对象
【发布时间】:2019-11-24 11:38:27
【问题描述】:

我有一些具有不同属性的对象。我想使用List&lt;dynamic&gt; 存储到列表中,我已经做到了。

但是当我试图找到我需要的特定对象时遇到了一些问题。

例如:

我有 2 个对象 MovieGenre

电影对象

Movie movie = new Movie()
    {
        Title = Title,
        Description = Description
    }; 

类型对象

Genre genre = new Genre ()
    {
        Name = Name 
    }; 

我是这样存储的:

List<dynamic> dynamics = new List<dynamic>();
dynamics.Add(movie);
dynamics.Add(genre);

我不知道检查列表是电影还是流派

我不想使用 dynamics[0] 来获取 Movie 对象。因为我的对象比下面的代码多得多。

我尝试使用 LINQ,但确实有效,或者我错过了什么

【问题讨论】:

    标签: c# asp.net .net generics


    【解决方案1】:

    最好的解决方案是分成两个集合。如果不能拆分,每次都可以在运行时进行dynamics.Where(x=&gt;x.GetType() == typeof(Movie)).Cast&lt;Movie&gt;()

    【讨论】:

    • dynamics.OfType&lt;Movie&gt;() 会更简单
    猜你喜欢
    • 2022-11-09
    • 2022-01-09
    • 1970-01-01
    • 2020-06-07
    • 2013-03-14
    • 2016-01-20
    • 2020-08-09
    • 2013-04-22
    • 1970-01-01
    相关资源
    最近更新 更多