PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آزادسازی حافظه ی اخذ شده توسط StringBuilder



آبجی
13th February 2010, 12:07 PM
یک نمونه متدی که از StringBuilder استفاده کرده به شکل ذیل هست:

static string UseStringBuilder(string token)
{
StringBuilder sb = new StringBuilder();

int i = 10;

while (i– > 0)

{
sb.Append(token + ‘\n’);
}

string result = sb.ToString();

return result;
}

مشکل متد فوق اینه که حافظه ی اخد شده توسط StringBuilder که رشته ی ایجاد شده در اون قرار میگیره رو آزاد نمی کنه.
متاسفانه کلاس StringBuilder، اینترفیس IDisposable رو پیاده سازی نمی کنه.
راهکاری که میشه برای آزادسازی حافظه استفاده کرد، صفر کردن طول شی ایجاد شده از کلاس StringBuilder هست:

static string UseStringBuilder (string token)
{

StringBuilder sb = new StringBuilder();

int i = 10;

while (i– > 0)

{

sb.Append(token + ‘\n’);

}

string result = sb.ToString();

sb.Length = 0;

return result;
}

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد