1. 配列の共通属性 Length は要素数を返します。要素数が int 型の範囲を超える場合は、Rank が配列の次元を返します。
2. Array クラスは抽象クラスであるため、コンストラクターを使用して配列を作成することはできません。
でもそれはできる
プレーンコピーをクリップボードプリントに表示しますか?
配列 iArray = new int[] { 1, 2, 3, 4 };
for (int i = 0; i < iArray.Length; i++)
{
Console.WriteLine(iArray.GetValue(i));
}
配列 iArray = new int[] { 1, 2, 3, 4 };
for (int i = 0; i < iArray.Length; i++)
{
Console.WriteLine(iArray.GetValue(i));
}
または、静的メソッド CreateInstance を使用します。特に配列要素の型が事前に不明な場合は、次のように配列を定義できます。
設定には SetValue メソッドを使用し、読み取りには GetValue メソッドを使用します。
プレーンコピーをクリップボードプリントに表示しますか?
配列 array = Array.CreateInstance(typeof(string), 3);
array.SetValue("トム", 0);
array.SetValue("ジャック", 1);
array.SetValue("請求書", 2);
for (int i = 0; i < array.Length; i++)
{
Console.WriteLine(array.GetValue(i));
}
配列 array = Array.CreateInstance(typeof(string), 3);
array.SetValue("トム", 0);
array.SetValue("ジャック", 1);
array.SetValue("請求書", 2);
for (int i = 0; i < array.Length; i++)
{
Console.WriteLine(array.GetValue(i));
}
※この方法は多次元配列の作成にも使用できます。
3. 配列をコピーするには、Clone() メソッドを使用します。
配列要素が値型の場合はすべての値がコピーされますが、
配列要素が参照型の場合は、参照をコピーします。
※ 参照型を含む配列のディープコピーが必要な場合は、配列を反復して新しいオブジェクトを作成する必要があります
参照型のコピーを説明するには、次のクラスを参照してください。
プレーンコピーをクリップボードプリントに表示しますか?
パブリッククラスの人
{
パブリック文字列名 { セット;
パブリック文字列 LastName { セット;
public Person(string FirstName, string LastName)
{
//パラメータがクラスのメンバーと同じ名前を持つ場合、これを使用してクラスのメンバーを参照します(個人的にはこの方法で使用しないことをお勧めします)
this.FirstName = 名;
this.LastName = 姓;
}
//ToStringクラスを書き直す
パブリックオーバーライド文字列 ToString()
{
return string.Format("{0} {1}", FirstName, LastName);
}
}
クラスプログラム
{
static void Main(string[] args)
{
人[] 人1 = 新しい人[2];
person1[0] = 新しい人("トム", "リン");
person1[1] = 新しい Person("ジャック", "レーダー");
人[] 人2 = 人1.Clone() として 人[];
people2[0].FirstName = "コピー 2";
//ソース配列をコピーする呼び出し
Console.WriteLine(persons1[0].FirstName);
//結果は Tom ではなくコピー 2 です。Clone メソッドは参照をコピーするだけであることがわかります。
Console.Read();
}
}
パブリッククラスの人
{
パブリック文字列名 { セット;
パブリック文字列 LastName { セット;
public Person(string FirstName, string LastName)
{
//パラメータがクラスのメンバーと同じ名前を持つ場合、これを使用してクラスのメンバーを参照します(個人的にはこの方法で使用しないことをお勧めします)
this.FirstName = 名;
this.LastName = 姓;
}
//ToStringクラスを書き直す
パブリックオーバーライド文字列 ToString()
{
return string.Format("{0} {1}", FirstName, LastName);
}
}
クラスプログラム
{
static void Main(string[] args)
{
人[] 人1 = 新しい人[2];
person1[0] = 新しい人("トム", "リン");
person1[1] = 新しい Person("ジャック", "レーダー");
人[] 人2 = 人1.Clone() として 人[];
people2[0].FirstName = "コピー 2";
//ソース配列をコピーする呼び出し
Console.WriteLine(persons1[0].FirstName);
//結果は Tom ではなくコピー 2 です。Clone メソッドは参照をコピーするだけであることがわかります。
Console.Read();
}
}
3. Array クラスは、配列内の要素のバブル ソートである Sort メソッドも実装します。
単純な配列の場合は、直接ソートできます
Array.Sort(iArray); iArray は int 配列です。
-