Using unsafe with strings C# with Example
// The string referenced by variable 's' is normally immutable, but var s = "Hello"; // since it is memory, we could change it if we can access it in an // unsafe way. unsafe // allows writing to memory; methods on System.String don't allow this { fixed (char* c = s) // get pointer to string originally stored in read only memory for (int i = 0; i < s.Length; i++) c[i] = 'a'; // change data in memory allocated for original string "Hello" } Console.WriteLine(s); // The variable 's' still refers to the same System.String // value in memory, but the contents at that location were // changed by the unsafe write above. // Displays: "aaaaa"