есть 2 примера кода: # 1
string str1 = "hello";
string str2 = str1; //reference to the same string
str1 = "bye"; //new string created
и # 2
string str3 = "hello";
string str4 = (string)str3.Clone();//reference to the same string
str3 = "bye";//new string created
похоже, что они идентичны, не так ли? так в чем польза для использования Clone()? можете ли вы привести мне пример, когда я не могу использовать код # 1, но код # 2?