程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> c#數據類型

c#數據類型

編輯:關於C語言
類型可分為:值類型,引用類型
     值類型:直接存放真正的數據,值類型都有固定的長度,值類型的變量都保存在
堆棧(stack)上。作為值類型的變量,每個都有自己的數據,因此對一個變量的操作不會影響其他變量。

    引用類型:存儲讀數據的內存地址的引用,位於受管制的堆(Heap)上作為引用類型的變量可以引
用同一對象;因此對一個變量的操作會影響另一個變量所引用的同一對象。

值類型可分為3大類:
      基本型:
      整型
      int
        如:int i=123; //也可以寫為:System.Int32 i=123;
      long
         如: long myLong=123;  //int型隱式轉換為long型
     char
          如:char mychar='A'
     sbyte  byte   short   ushort uint ulong
   注意:(1) 書寫一個常數時(如:23),默認為整型,若要表示非整型,可以用顯式轉換:
   如:sbyte k=1;
       int i=2;
       k=(sbyte)i;  //顯式轉換
       i=k;         //隱式轉換
      (2) 不同整型轉換原則:小范圍類型可以隱式轉換為大范圍類型,大范圍類型轉換
    為小范圍類型時要使用顯式轉換。

      浮點型
          float類型:32位浮點數,取值范圍在
double類型:64位浮點數,取值范圍在

      布爾型 bool
          true  false
          
      
        結構型
         struct 
                   如 public struct Point
                            {
                                int x;
                                 int y;
                                 string s;
                              }
結構和類的區別:
    結構是一個值類型(在棧上),而類是一個引用
類型(在堆上)。       

枚舉型

  enum類型
常用形式有:
   enum days {Sun,Mon,Tue,Wed,Thu,Fri, Sat};
      //第一個成員值默認為0,第二個為1,……
   enum days {Mon=1,Tue,Wed,Thu,Fri, Sat, Sun };
      //第一個成員值從1開始
     enum days {mon=1,wed=3,sun,thu=8};
enum類型的使用示例:
class Test
 {
  enum days {Sun,Mon,Tue,Wed,Thu,Fri,Sat};
  static void Main()
  {
   Console.WriteLine(days.Wed);
   days myday=days.Fri;
   Console.WriteLine(myday);
   Console.Read();
  }
 }

引用類型

    引用類型包括:類、接口、數組、委托 等。

          string類型

            string myString = "some text";
            char chFirst = myString[2];  //結果為m
         當比較兩個字符串是否相等時,可以直接使用“==”比較操作符。
         當比較兩個字符串大小時,可以使用string. Compare方法,其返
      回值有-1,0,1三種可能。
常用格式舉例:
(1)  int i=12345;
       this.textBox1.Text=i.ToString();
(6) DateTime dt =new DateTime(2003,5,25);
    this.textBox1.Text=dt.ToString("yy.M.d");
         //結果 03.5.25
    this.textBox2.Text=dt.ToString(“yyyy年M月”);
         //結果 2003年5月
(7)   int i=123;
         double j=123.45;
        string s=string.Format("i:{0,-7},j:{1,7}",i,j);
         //-7表示左對齊,占7位
     this.textBox1.Text=s ; 
         //結果i:123    ,j: 123.45

         //結果 12345(this指當前對象,或叫當前類的實例)
       this.textBox2.Text=i.ToString("d8");
         //結果 00012345
(2) int i=123;
    double j=123.45;
  string s1=string.Format("the value is {0,7:d}",i);
  string s2=string.Format("the value is {0,7:f3}",j);
  this.textBox1.Text=s1 ;
         //結果 the value is     123
  this.textBox2.Text=s2;
         //結果 the value is 123.450
(3) double i=12345.6789
      this.textBox1.Text=i.ToString("f2");//結果 12345.68
(4)double i=12345.6789;
   this.textBox1.Text=i.ToString("n");   //結果 12,345.68
   this.textBox2.Text=i.ToString(“n4”);  //結果 12,345.6789
(5)double i=0.126;
   string s=string.Format("the value is {0:p}",i);
   this.textBox1.Text=i.ToString("p");   //結果 12.6%
   this.textBox2.Text=s;   //結果 the value is 12.6%


          數組
       特點:所有的元素類型都相同。
      //一維數組
     
           string[]  arr={"c","c++"};
           string[]   mystrings=new string[3];
           int[] intArr1=new int[4]{0,1,2,3};
            int[] intArr2={5,6,7};
             int nvar=5;
//二維數組
int[,] arr = {{0,1}, {2,3}, {4,5}};
int[,] myArr = new int[5,3];
//鋸齒型數組
string[][] stra=new string[3][];
stra[0]=new string[2]{"a11","a12"};
stra[1]=new string[3]{"b11","b12","b13"};
stra[2]=new string[5]{"a","e","i","o","u"};


類型之間的轉換
 位數少的轉換為位數多的,可以使用隱式轉換;
  位數多的轉換為位數少的,要使用顯式轉換。

裝箱和拆箱
    int i=123;  //數值類型
    object box=i;  //裝箱操作
    int j=(int)box;  //拆箱操作

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved