我的第一篇文章,有疑問請教大家。


下面是我看到的js參數傳遞的方法,其中說js只有按值傳遞

 

以上是我在《javascript高級程序設計》中看到的。然后我用C#寫了下面這段代碼

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace refTest
{
  
    class Program
    {
        static void SomeFunction(int[] ints, int i)
        {
            ints[0] = 100;
            ints = new int[] { 3, 4, 5, 9, 8 };
            i = 100;
        }
       
        static void Main(string[] args)
        {
            int i = 0;
            int[] ints = { 0, 1, 2, 4, 8 };
            Console.WriteLine("i = " + i);
            Console.WriteLine("ints[0] = " + ints[0]);
            Console.WriteLine("Call SomeFunction.");

            SomeFunction(ints, i);
            Console.WriteLine("i = " + i);
            Console.WriteLine("ints[0] = " + ints[0]);
        }
    }
}

 

結果發現和JS中的情形是一樣的,難道C#的引用類型不是按引用傳遞的嗎?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM