C# で配列をコピーする方法はたくさんあります
配列間でコピーする、int[] pins = {9,3,4,9};int [] alias = pins; ここにエラーがあり、これがソースでもあります。上記のコードはエラーはありませんが、ピンとエイリアスは参照でありスタック上に存在し、データ 9,3,4,3 は int オブジェクトであるため、まったくコピーではありません。 heap, int [] alias = pins; は、別の参照を作成することに他なりません。エイリアスとピンは同時に {9, 3, 4, 3} を指します。一方の参照が変更されると、必然的にもう一方の参照にも影響します。コピーとは、コピーしたオブジェクトと同じオブジェクトを新たに作成することを指します。C#言語でコピーするには以下の4つの方法があります。
方法 1: for ループを使用する
int []pins = {9,3,7,2}
int []copy = new int[pins.length];
for(int i =0; i!=copy.length;i++)
{
copy[i] = pins[i];
}
方法 2: 配列オブジェクトで CopyTo() メソッドを使用します
int [ ] pins = {9,3,7,2}
int []copy2 = new int[pins.length];
pins.CopyTo(copy2,0);
方法 3: の静的メンバーを使用します。 Array クラス Method Copy()
int []pins = {9,3,7,2}
int []copy3 = new int[pins.length];
Array.Copy(pins, copy3,copy.Length );
方法 4: Array クラスのインスタンス メソッド Clone() を使用します。これは一度呼び出すことができ、最も便利です。ただし、Clone() メソッドはオブジェクトを返すため、適切なクラスタイプに強制的に設定する必要があります。
int []pins = {9,3,7,2}
int []copy4 = (int [])pins.Clone();
方法 5:
string[] Student1 = { "$", "$", "c", "m", "d", "1", "2", "3", "1", "2", "3" };
string[] Student2 = { "0", "1", "2", "3", "4", "5", "6", "6", "1", "8", "16", "10","45", "37", "82" };
ArrayList Student = new ArrayList();
foreach (student1 の文字列 s1)
{
student.Add(s1);
foreach (student2の文字列s2){ student.Add(s2);}string[]コピー後 = (string[])student.ToArray(typeof(string));2 つの配列をマージし、最後にマージした結果を copyAfter 配列に割り当てます。この例は柔軟で、さまざまな場所で使用できます
C# での配列割り当てメソッドに関連するその他の記事については、PHP 中国語に注目してください。 Webサイト!