C#でBitArrayのシャローコピー(浅いコピー)を作成する方法
BitArrayのシャローコピー(浅いコピー)を作成するには、Clone()メソッドを使用します。CloneメソッドはICloneableインターフェースで定義されており、呼び出し元のBitArrayと同じ長さ・同じ要素値を持つ新しいBitArrayインスタンスを返します。コピー先の配列を変更しても、元の配列には影響しません。
基本的な使用例
以下は、Clone()メソッドを使ってBitArrayのシャローコピーを作成するC#のコード例です。
using System;
using System.Collections;
public class Demo {
public static void Main(){
BitArray arr1 = new BitArray(5);
arr1[0] = false;
arr1[1] = true;
Console.WriteLine("BitArray length = "+arr1.Length);
Console.WriteLine("BitArray first element = "+arr1.Get(0));
Console.WriteLine("BitArray second element = "+arr1.Get(1));
BitArray arr2 = (BitArray)arr1.Clone();
Console.WriteLine("\nBitArray2 length = "+arr2.Length);
Console.WriteLine("BitArray2 first element = "+arr2.Get(0));
Console.WriteLine("BitArray2 second element = "+arr2.Get(1));
}
}実行結果
上記のコードを実行すると、次のような出力が得られます。
BitArray length = 5 BitArray first element = False BitArray second element = True BitArray2 length = 5 BitArray2 first element = False BitArray2 second element = True
foreachを使った別の例
続いて、foreachループですべての要素を表示しながら、複製されたBitArrayの中身を確認する例を見てみましょう。
using System;
using System.Collections;
public class Demo {
public static void Main(){
BitArray arr1 = new BitArray(5);
arr1[0] = false;
arr1[1] = true;
arr1[2] = false;
arr1[3] = true;
arr1[4] = false;
Console.WriteLine("BitArray length = "+arr1.Length);
Console.WriteLine("Elements in BitArray1...");
foreach(Object obj in arr1)
Console.WriteLine(obj);
BitArray arr2 = (BitArray)arr1.Clone();
Console.WriteLine("\nBitArray2 length = "+arr2.Length);
Console.WriteLine("Elements in BitArray2...");
foreach(Object obj in arr2)
Console.WriteLine(obj);
}
}実行結果
このコードを実行すると、以下の出力が得られます。複製元(BitArray1)と複製先(BitArray2)の要素が完全に一致していることが確認できます。
BitArray length = 5 Elements in BitArray1... False True False True False BitArray2 length = 5 Elements in BitArray2... False True False True False
ポイントまとめ
- BitArrayのシャローコピーにはClone()メソッドを使用します。
- 戻り値はObject型なので、(BitArray)へのキャストが必要です。
- 複製されたBitArrayは、元の配列と同じ長さ・同じビット値を持ちます。
-
Windows 10でクリップボードをクリアするショートカットを作成する3つの方法
クリップボードは、アプリケーション間でデータをやり取りするための一時的な保存領域です。ある場所から情報をコピーして別の場所で使いたいとき、コピーした内容は一時的にクリップボードに格納されます。テキスト、画像、ファイル、フォルダ、動画、音楽など、さまざまなデータをクリップボードにコピーできます。 クリップボードの唯一の欠点は、一度に保持できる情報が1つだけという点です。新しい内容をコピーすると、以前に保存されていた情報は上書きされます。そのため、家族や友人とPCを共有している場合は、PCを離れる前にクリップボードの内容を消去しておくことが重要です。個人情報やパスワードなどの機密データが残ったま
-
Windows 11の評価版・アクティブ化透かし(ウォーターマーク)を削除する5つの方法
Windows 11をはじめとするMicrosoft製品は、正規のプロダクトキーまたはデジタルライセンスで認証することで、Windows Updateによる定期更新やすべての機能を利用できるようになります。Windows 11のISOファイルをダウンロードしてインストールした場合、認証までの猶予期間は30日間です。この期間内に認証しないと、一部の機能が制限され、デスクトップには「Windowsのライセンス認証」という透かし(ウォーターマーク)が表示されてしまいます。 正規のプロダクトキーやデジタルライセンスをお持ちであれば、それを使って認証するのが最善の方法です。しかし、まだキーをお持ちでない