does anyone know a way to easily convert arrays of user-defined types?Code:namespace ConsoleApplication1 { class ImplicitlyConvertibleFromFoo { public ImplicitlyConvertibleFromFoo(Foo foo) { this.foo = foo; } Foo foo; } class Foo { public static implicit operator ImplicitlyConvertibleFromFoo(Foo foo) { return new ImplicitlyConvertibleFromFoo(foo); } } class Program { static void Main(string[] args) { Foo[] fooArray = new Foo[4]; for(int i=0;i<fooArray.Length;++i) { fooArray[i] = new Foo(); } ImplicitlyConvertibleFromFoo implicitlyConverted = fooArray[0]; // this is fine ImplicitlyConvertibleFromFoo[] castArray = fooArray.Cast<ImplicitlyConvertibleFromFoo>().ToArray(); // above generates exception: An unhandled exception of type 'System.InvalidCastException' occurred in System.Core.dll //Additional information: Unable to cast object of type 'ConsoleApplication1.Foo' to type 'ConsoleApplication1.ImplicitlyConvertibleFromFoo'. } } }