二、數據類型

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

namespace _2.數據類型
{
    class Program
    {
        static void Main(string[] args)
        {
            // 整數類型
            byte myByte = 80;
            ushort myUShort = 67;
            int myInt = -99;
            ulong myULong = 45679788;
            Console.WriteLine("myByte: {0}", myByte);
            Console.WriteLine("myUShort: {0}", myUShort);
            Console.WriteLine("myInt: {0}", myInt);
            Console.WriteLine("myULong: {0}", myULong);
            
            // 浮點類型
            /* 因爲浮點類型字面值默認爲double類型,所以
             * 在給float和decimal類型變量賦值時,必須
             * 在字面值後面添加後綴。
             * float類型變量需添加後綴f或F。
             * double類型變量需添加後綴d或D。
             * decimal類型變量需添加後綴m或M。
             */ 
            float myFloat = 3.14F;
            double myDouble = 56.4689;
            decimal myDecimal = 45487.54679796464M;
            Console.WriteLine("myFloat: {0}", myFloat);
            Console.WriteLine("myDouble: {0}", myDouble);
            Console.WriteLine("myDecimal: {0}", myDecimal);
            
            // 字符類型
            char myChar = 'A';
            Console.WriteLine("myChar: {0}", myChar);
            
            // 布爾類型
            bool myBool = true;
            Console.WriteLine("myBool: {0}", myBool);
            
            // object類型
            object myObject = 100;
            Console.WriteLine("myObject Type: {0}, Value: {1}", myObject.GetType(), myObject);
            
            // dynamic類型
            dynamic myDynamic = 'A';
            Console.WriteLine("myDynamic Type: {0}, Value: {1}", myDynamic.GetType(), myDynamic);
            
            // string類型
            string myString = "Hello, World";
            Console.WriteLine("myString: {0}", myString);
            
            // sizeof方法
            // 用法: sizeof(type)
            Console.WriteLine("int類型佔用{0}字節", sizeof(int));
            
            Console.ReadKey();
        }
    }
}

/**
 * 一、值類型
 * 值類型都是從System.ValueType類中派生出來的。
 * (1) 整數類型(默認值爲0)
 * A) 有符號整數類型
 *    sbyte     別名System.Byte   佔用1個字節
 *    short     別名System.Int16  佔用2個字節
 *    int       別名System.Int32  佔用4個字節
 *    long      別名System.Int64  佔用8個字節
 * B) 無符號整數類型
 *    byte      別名System.SByte  佔用1個字節
 *    ushort    別名System.UInt16 佔用2個字節
 *    uint      別名System.UInt32 佔用4個字節
 *    ulong     別名System.UInt64 佔用8個字節
 * (2) 浮點類型
 *    float     別名System.Single  佔用4個字節  默認值爲0.0F 
 *    double    別名System.Double  佔用8個字節  默認值爲0.0D
 *    float和double類型以+/-m*2^e形式表示,m和e的值因類型而異。
 *    
 *    decimal   別名System.Decimal 佔用16個字節 默認值爲0.0M
 *    decimal類型以+/-m*10^e形式表示。
 * (3) 字符類型(無符號類型),可表示Unicode字符,可存儲中文字符。
 *    char      別名System.Char    佔用2個字節  默認值爲'\0'
 * (4) 布爾類型
 *    bool      別名System.Boolean 布爾值: true和false, 默認值爲false
 * 
 * 二、引用類型
 * (1) object類型
 * object類型是C#通用類型系統(Common Type System)中所有數據類型的終極基類。
 * object類型可以被分配任何其他類型(值類型、引用類型、預定義類型或用戶自定義類型)的值。
 * object類型變量在編譯時進行類型檢查。
 * (2) dynamic類型
 * dynamic類型變量可以存儲任何類型的值。
 * dynamic類型變量在運行時進行類型檢查。
 * (3) string類型
 * string類型允許給變量分配任何字符串,沒有長度限制。
 * string類型是System.String類的別名。
 * 
 * 三、指針類型
 * 指針類型變量存儲另一種類型的內存地址。
 * 聲明指針類型語法:
 *  type* identifier;
 *  
 * 例如:
 *  char* cptr;
 *  int*  iptr;
 *  
 */


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章