ارسال مرجع و با مقدار در 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);
- ۰ نظر
- ۲۶ خرداد ۹۶ ، ۱۸:۲۴