HOWTO · Csharp
C# でオブジェクトを削除する
C# で null 値を割り当てることにより、ユーザー定義クラスのオブジェクトを削除できます。
このページの内容
このチュートリアルでは、C# でユーザー定義クラスのオブジェクトを削除する方法について説明します。
null 値を割り当てることにより、C# でユーザー定義のクラスオブジェクトを削除する
クラスオブジェクトは、そのクラスのメモリ位置を指す参照変数です。null 値を割り当てることで、オブジェクトを削除できます。これは、オブジェクトに現在、メモリ位置への参照が含まれていないことを意味します。次の例を参照してください。
using System;
namespace delete_object {
public class Sample {
public string value { get; set; }
}
class Program {
static void Main(string[] args) {
Sample x = new Sample();
x.value = "Some Value";
x = null;
Console.WriteLine(x.value);
}
}
}
出力:
Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
上記のコードでは、Sample クラスのオブジェクト x を初期化し、value プロパティに値を割り当てました。次に、null を x に割り当ててオブジェクトを削除し、x.value プロパティを出力しました。x はどのメモリ位置も指していないため、例外が発生します。
もう 1つの有益なアプローチは、オブジェクトを削除した後でガベージコレクターを呼び出すことです。このアプローチは、以下のコード例に示されています。
using System;
namespace delete_object {
public class Sample {
public string value { get; set; }
}
class Program {
static void Main(string[] args) {
Sample x = new Sample();
x.value = "Some Value";
x = null;
GC.Collect();
Console.WriteLine(x.value);
}
}
}
上記のコードでは、C# の GC.Collect() メソッドを使用して x オブジェクトに null 値を割り当てた後、ガベージコレクターを呼び出しました。