C#将接口类型数据转为实现类型的数组

1.以下语句返回ISeriesPoints[]
MySeries.Points.Where(o=>o.DateTimeArgument>beginTime).ToArray();

2.AddRange方法需要一个SeriesPoints类型
MySeries.Points.AddRange(SeriesPoints);

如何将语句1中的ISeriesPoints[]转为2中的SeriesPoints

你这个seriespoints是继承接口ISeriesPoints的吗,MySeries.Points又是一个什么类型呢?

//我不想实现啥复杂接口了,就随便找个简单的接口
//初始化你说的points
IDisposable[] points = new IDisposable[]
{
    new Test() { A = 1 }, new Test() { A = 1 }, new Test() { A = 2 },
    new TestB()//我故意混一个其他类型的
};

//此刻我们有很多种方法完成你的要求,我说一下最常用的2种
//1.直接oftype从里面提取出符合type的元素
var re1 = points.OfType<Test>().Where(p => p.A == 1).ToList();

//2.where约束type然后cast

var res4= points.Where(p => p is Test).Cast<Test>(); 


Console.ReadKey();

public class Test:IDisposable
{
    public int A { get; set; }

    public void Dispose()
    {
    }
}
public class TestB : IDisposable
{
   

    public void Dispose()
    {
    }
}