将List <MyObject>转换为List <IMyInterface>的最佳方法是什么?

leo*_*ora 3 c# collections interface

我有一个对象列表.让我们称他们为MyObject,我需要将它们转换为IMyInterface列表,因为我想将其他东西添加到列表中,而不是MyObject,但也实现了我的界面.我试过这个,但它不起作用..

 List<IMyInterface> myList = myObjectList;  //myObjectList is a List<MyObject>
Run Code Online (Sandbox Code Playgroud)

有什么建议?我是否需要预先在阵列中投射每个项目?

TGH*_*TGH 8

试试这个

List<IMyInterface> l = myList.OfType<IMyInterface>().ToList();
Run Code Online (Sandbox Code Playgroud)