إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

Passing by value or by ref

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • StrikerX
    رد
    تسلمو ياشباب على المرور ، منورين كالعادة (سامحنى يارب)

    اترك تعليق:


  • St0rM-MaN
    رد
    one more add :
    arrays always passed by ref
    موضوع في الجون تسلم ايديك

    اترك تعليق:


  • CPU
    رد
    يسلم ايديك يا سترايكير ... ^_^

    اترك تعليق:


  • StrikerX
    كتب موضوع Passing by value or by ref

    Passing by value or by ref


    Value, ref

    Passing by Value

    لما بنعمل Pass ل Argument داخل اى method بطريقة إفتراضية بيتم اخذ copy من ال Argument وعمل الشغل عليها لكن مش الأصلية !


    كود:
    static void Inc(int x)
    {
       x++;  //increase the value of a copy !!
    }
    
    static void Main(string[] args)
    {
         int param = 10 ;
         Console.WriteLine(“The param equals : {0}”, param);
         Inc(param);
         Console.WriteLine(“Now the param equals : {0}”, param);
         Console.WriteLine(param);
    
    }
    ال Output هنلقى إن قيمة ال param مازالت ثابته !
    ليه ثابته ؟ لأن الزيادة كانت على مجرد Copy منها مش هى نفسها !

    Passing by ref
    كود:
    static void Inc(ref int x)
    {
       x++;  //it's like pointers here .
    }
    
    static void Main(string[] args)
    {
         int param = 10 ;
         Console.WriteLine(“The param equals : {0}”, param);
         Inc(ref param); //passing the address of param .
         Console.WriteLine(“Now the param equals : {0}”, param);
         Console.WriteLine(param);
    
    }
    ال Output هنلقى إن حصلت زيادة على قيمة ال param بس ليه ؟
    صراحة ال passing by ref كأنك بتستخدم Pointer . لأنك بتعمل Pass ل Memory address والتغيير بيحصل على القيمة المخزنة فى ال Memory Address .

    ارجو إنه يكون واضح ، وشكرا .

يعمل...
X