No. What CGKevin tried to do was to meet your requirement for the method to return a byte[], however, as I already told you, in C# you can not both meet the requirement to return a byte[], and the requirement for it to bee a shallow copy of the original array, at least not without doing some kind of boxing on the byte type - since byte is a value type.