는 전 클래스가이 클래스는 "값"변수는 파일에서 읽는 빅 데이터가 포함되어 있습니다C# 목록에서 사용 후 개체를 삭제 하시겠습니까?
public class MyClass : IDisposable
{
public string name {get; set;}
public string value {get; set;} //I'm load huge data for this variable
public MyClass(string name, string value)
{
this.name = name;
this.value = value;
}
public void Execute()
{
Console.WriteLine(this.name + ":" + this.value);
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
if (disposing)
{
this.name = null;
this.value = null;
}
}
}
을 그리고 난 그것이 전역 변수
List<MyClass> listQ = new List<MyClass>() { new MyClass("1", "BIGDATA1"),
new MyClass("2", "BIGDATA2"),
new MyClass("3", "BIGDATA3"),
new MyClass("4", "BIGDATA4"),
new MyClass("5", "BIGDATA5"),
new MyClass("6", "BIGDATA6"),
};
private void FUC_Load(object sender, EventArgs e)
{
foreach (MyClass m in listQ)
{
m.Execute();
m.Dispose();
}
}
그래서 목록에서이 클래스를 사용하고 있습니다 내가 그걸 좋아한다면 어떤 문제가 있을지 물어보고 싶니? 내 물건이 처분 될 것인가? 가장 좋은 방법이 있습니까? 감사!
클래스에 'IDisposable'이 필요하지 않습니다. –
또한 이름과 값 멤버 모두를 문자열로 유지하는 경우 휠을 다시 작성하는 대신 NameValueCollection에서 더 잘 상속받을 수 있습니다. – dotNET