zoukankan      html  css  js  c++  java
  • C#語法學習類型(Type)


     
     
     
     
     
     
     
     
     
     
    /*
     * Created by SharpDevelop.
     * User: Administrator
     * Date: 2008/9/3
     * Time: 下午 10:13
     * 本節講類型Type
     * 類型(Type)
     * C#中有兩种類型:
     * 值類型(value type)
     * 引用類型(reference type)
     * 值類型的變理直接包含它們的數據,而引用類型的變量存儲對它們的數據的引用,後者稱為對像.
     * 
     * 
     * C#的值類型進一步劃分為簡單類型(simple type),枚舉類型(enum type)和結構類型(struct type).
     * C#的引用類型進一步劃分為類類型(class type),接口類型(interface type),數組類型(array type)和委托類型(delegate type).
     * 
     * 
    以下的例了介紹引用類型的存儲方式
     
    */
     
    using System;
     
    class MyClass
     {
         
    public int i;
     }
     
    class Test
     {
         
    static void Main()
         {
             MyClass mc
    =new MyClass();//mc存儲在堆中,而i則存儲在托管堆中.
             mc.i=100;
             MyClass mc1
    =mc;//此時的mc1指向了mc的內存地址.
             mc1.i=200;//此時改變了托管堆中實例對像myclass的i的值為200,因此最後輸出結果都為200
             Console.WriteLine("mc.i=" + mc.i);
             Console.WriteLine(
    "mc1.i=" + mc1.i);
         }
     }


    /*
     * Created by SharpDevelop.
     * User: Administrator
     * Date: 2008/9/3
     * Time: 下午 10:13
     * 本節講類型Type
     * 以下的例子介紹值類型的存儲方式
     
    */
     
    using System;
     
    struct MyClass
     {
         
    public int i;
     }
     
    class Test
     {
         
    static void Main()
         {
             MyClass mc
    =new MyClass();//
             mc.i=100;
             MyClass mc1
    =mc;//
             mc1.i=200;//
             Console.WriteLine("mc.i=" + mc.i);
             Console.WriteLine(
    "mc1.i=" + mc1.i);
         }
     }


     
     值類型在復制的時候會創建副本,而引用類型則直接傳遞其引用地址.
    什麼時候使用值類型
    1,當類型是一個十分簡單的類型,其中沒有成員會修改類型的任何實例字段.
    2,類型不需要從其他任何類型繼承.
    3,類型不會派出其他任何類型.
    4,類型的實例較小.
    5,類型不作為方法參數傳遞,也不作為方法的返回類型使用.

    申明

    非源创博文中的内容均收集自网上,若有侵权之处,请及时联络,我会在第一时间内删除.再次说声抱歉!!!

    博文欢迎转载,但请给出原文连接。

  • 相关阅读:
    使用公钥登录SSL
    javascript看你能够做对几题
    windows 与fedora时间差
    Linux 启动直接进入 console,
    fedora -- java多版本切换
    fedora 解决yumBackend.py进程CPU占用过高
    fedora 禁止nouveau加载
    联邦学习中的隐私研究
    优秀博客链接
    【论文学习11】GIANT: Globally Improved Approximate Newton Method for Distributed Optimization
  • 原文地址:https://www.cnblogs.com/Athrun/p/1283439.html
Copyright © 2011-2022 走看看