C#中的值類型(value type)與引用類型(reference type)的區別


ylbtech- .NET-Basic:C#中的值類型與引用類型的區別

  C#中的值類型(value type)與引用類型(reference type)的區別

1.A,相關概念返回頂部
 
   C#中有兩種數據類型:值類型(value type)和引用類型(reference type)。
 
  值類型的變量直接包含它們的數據,而引用類型的變量存儲對它們的數據引用,后者稱為對象。對於引用類型,兩個變量可以引用同一對象,因此對一個變量操作可能影響另一個變量所引用的對象。對於值類型,每個變量都有它們自己的數據副本(除 ref 和 out 參數變量外),因此對一個變量操作不可能影響另一個變量。
 
1.B,測試源代碼返回頂部
using System;

namespace ConsoleApplication1
{
    class RefClass
    {
        public int Value = 0;
    }
    /// <summary>
    /// ylb:C#中的值類型與引用類型的區別
    /// </summary>
    class Program
    {
        static void Main(string[] args)
        {
            int val1 = 0;
            int val2 = val1;
            val2 = 123;
            RefClass ref1 = new RefClass();
            RefClass ref2 = ref1;
            ref2.Value = 123;   //主要只修改了對象 ref2 中的值
            Console.WriteLine("Values:{0},{1}",val1,val2);
            Console.WriteLine("Refs:{0},{1}", ref1.Value, ref2.Value);
        }
    }
}

//ExecutionResult

Values:0,123
Refs:123,123
請按任意鍵繼續. . .
1.C,資源下載返回頂部
 無
warn 作者:ylbtech
出處:http://ylbtech.cnblogs.com/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。


免責聲明!

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



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