あと文字列(string)は参照型にもかかわらずメソッドに渡すときは全く同じ
文字列がコピーされるからメソッド内でいくらいじくってもオリジナルの
文字列が変更されることはない。

でも文字列の配列(string[])をメソッドに渡すとメソッド内での操作が
オリジナルの文字列の配列にも反映される。

ここらへんのルールの違いをもっと明確にユーザーに伝わるような仕組みを
構築すべきじゃないかな?特にC#は後発の言語なんだから。