As a newcomer to the wonderful world of .NET (although not to programming) last year I started, as most of us do, by taking a course. It was whilst working on one of the exercises that I ran across a ‘feature’ of the .NET Framework which has caused me no end of fun and enjoyment!
I had filled an array of Char, Array1()with data and I wanted to sort it. However, I also wanted to keep a copy of the unsorted data to revert to. This apparently simple requirement led me deep into the field of shallow copies, deep copies, copying and cloning.
This article reflects the result of my research and I hope it will be of help to you if you have a similar requirement at some time in the future.