检查List <Dynamic>是否包含一个对象

时间:2019-11-24 11:38:27

标签: c# asp.net .net generics

我有一些具有不同属性的对象。而且我想使用List<dynamic>存储到列表,而我已经做到了。

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

例如:

我有2个对象电影流派

电影对象

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,但是确实工作过,或者我错过了一些事情

1 个答案:

答案 0 :(得分:1)

最佳解决方案分为两个集合。如果您无法拆分,则可以每次dynamics.Where(x=>x.GetType() == typeof(Movie)).Cast<Movie>()

在运行时执行