ارسال مرجع و با مقدار در c#
جمعه, ۲۶ خرداد ۱۳۹۶، ۰۶:۲۴ ب.ظ
class در c# منغییر ها را به صورت مرجع ارسال می کند . lمثلا در این مثال چون هر بار مقادری obj تغییر می کند در نهایت تمام حافظه ی تخصیص داده شده برای list با c,3 پر می شوند
اما struct مقادیر را به صورت کپی مقدار ارسال می کند در نتیجه اگر همین مثال را به صورت :
struct a
{
public string txt;
public int num;
}
تعریف کنیم مقادیر list به صورت a,1 و b,2 و c,3 ذخیره می شود
class a { public string txt; public int num; } //------------------- List<a> AList = new List<a>(); a obj = new a(); //------------------- obj.txt = "a"; obj.num = 1; AList.Add(obj); //------------------ obj.txt = "b"; obj.num = 2; AList.Add(obj); //------------------- obj.txt = "c"; obj.num = 3; AList.Add(obj);
- ۰ نظر
- ۲۶ خرداد ۹۶ ، ۱۸:۲۴