وبلاگ من

ارسال مرجع و با مقدار در 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);


  • مرتضی رحیم زاده

by_reference

by_value

c#

class

struct

نظرات (۰)

هیچ نظری هنوز ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی