Is Array.Copy decent for copying sections of memory? - C#