Skip to content

Instantly share code, notes, and snippets.

@shoover
Created January 30, 2009 13:43
Show Gist options
  • Save shoover/55064 to your computer and use it in GitHub Desktop.
Save shoover/55064 to your computer and use it in GitHub Desktop.
public static Transport[] Convert(object list)
{
return Convert((object[])list);
}
// 1
public static Transport[] Convert(object[] list)
{
return list.Select<object, Transport>(o =>
{
object[] transport = o as object[];
if (transport == null)
{
return null;
}
return new Transport((string)transport[0], (string)transport[1]);
}).Where<Transport>(t => t != null).ToArray<Transport>();
}
// 2
public static Transport[] Convert(object[] list)
{
return list.OfType<object[]>().
Select<object[], Transport>(o => new Transport((string)o[0], (string)o[1])).
ToArray<Transport>();
}
// 3 SQL
public static IEnumerable<Transport> Convert(object[] list)
{
return from o in list.OfType<object[]>()
select new Transport((string)o[0], (string)o[1]);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment