• c# 值類型與引用類型


        類型因執行性能與內存資源管理的不同分為值類型與引用類型。

        值類型直接在堆棧(stack)中存儲該類型的值,此類型在內在的使用上以及訪問的效能上比引用類型要好。
        引用類型變更存放的指向實際對象的指針,因此訪問對像時必須多進行一次內存引用的操作方可獲取數據。引用類型的對象必須分配多餘的內存來存放虛函數指針及各程同步塊,對於內存的需求較大。

    以數組為例:
        數組是引用類型的變量,所以值會變更。當數組作為參數傳遞時,其值也會隨著變更。因為引用類型傳遞的時地址。
        注:string也是引用類型,代比較特殊,其值初始化就不會自動變更。
    如下面代碼:
    using System;
    class mathod
    {
        
    static void PrintArr( int[] arrList)
        {
            
    for(int i=0;i<arr.Length;i++)
            {
                arrList[i]
    =i;
            }
        }
        
    static void Main()
        {
            
    int[] arr={100,200,300};
            PrintArr(arr);
            
    foreach(int i in arr)
            {
                Console.Write(i
    +",");
            }            
            Console.ReadLine();
        }
    }

    結果為0,1,2,而不是100,200,300
  • 相关阅读:
    LINX中的各种alloc
    Enea LINX代码分析之二(ECM_RX)
    Enea LINX代码分析之一
    看代码和写代码还是很不同的
    sctp bind
    sockaddr和sockaddr_in
    pthread条件变量
    System V IPV & Posix IPC(摘自Unix网络编程卷2)
    [宽度优先搜索] FZU-2150 Fire Game
    [字符哈希] POJ 3094 Quicksum
  • 原文地址:https://www.cnblogs.com/scottckt/p/1140913.html
Copyright © 2020-2023  润新知