What is the best way to move the content of an enumerable objects to an array of objects? See code below
public object[] GetByteCodes(IEnumerable<byte> enumerableByteCodes)
{
object[] objects = new 开发者_JAVA百科object[enumerableByteCodes.Count()];
//What the next step here?...
return objects;
}
Do those bytes in enumerableByteCodes represent objects? If not, why are you not returning a byte[]?
If you want to return a byteArray, you can just use the LINQ extension method on
IEnumerable<t>.ToArray()
;
If you want to return it as an object you can use the Select LINQ extension to do that too.
enumerableByteCodes.Select(t=> (object)t).ToArray();
You could also use
enumerableBytes.OfType<object>().ToArray();
byteCodes = enumerableByteCodes.ToArray();
I would simply make the function:
public byte[] GetByteCode(IEnumerable<byte> enumerableByteCodes)
{
return enumerableByteCodes.ToArray();
}
Why are you using object[]
, seeing as your generic type is a byte
?
Update:
Since you must have an object[]
, you need to cast each member:
public object[] GetByteCode(IEnumerable<byte> enumerableByteCodes)
{
return enumerableByteCodes.Select(x => (object)x).ToArray();
}
精彩评论