C#總結1

                 C#摘要shell

 第一章:數組

數據類型:函數

在定義變量的時候,記下規則,開頭不能是數字,變量名只能包括 字母 「_」 數字ui

    

 整型類型
 名稱this

 CTS類型spa

 說明code

 範圍對象

 sbyte繼承

 System.SByte索引

 8位有符號的整數

 -128127(-27到27-1)

 short

 System.Int16

 16位有符號的整數

 -3276832767(-215到215-1)

 int

 System.Int32

 32位有符號的整數

 -21474836482147483647(-231到231-1)

 long

 System.Int64

 64位有符號的整數

 -92233720368547758089223372036854775807(-263到263-1)

 byte

 System.Byte

 8位無符號的整數

 0255(028-1)

 ushort

 System.Uint16

 16位無符號的整數

 065535(0216-1)

 uint

 System.Uint32

 32位無符號的整數

 04294967295(0232-1)

 ulong

 System.Uint64

 64位無符號的整數

 018446744073709551615(0264-1)

 浮點類型
 名稱

 CTS類型

 說明

 位數

 範圍

 float

 System.Single

 32位單精度浮點數

 7

±1.5×10-45到±3.4×1038

 double

 System.Double

 64位雙精度浮點數

 15/16

 ±5.0×10-324到±1.7×10308

decimal類型
 名稱

 CTS類型

 說明

 位數

 範圍

 decimal

 System.Decimal

 128位高精度十進制數表示法

 28

±1.0×10-28到±7.9×1028

 bool類型
 名稱

 CTS類型

 值

bool

 System.Boolean

 truefalse

 char類型
 名稱

 CTS類型

 值

char

 System.Char

 表示一個16位的(unicode)字符

 

C#裏面也有結構類型:能夠定義數據類型和方法:
 struct Person

  Public char[10] name;

  Public int age;

  Public output()

  Console.WriteLine(「{0},{1}」,name,age);
}
}

枚舉類型:
enum Weekday

 Monday,Tuesday,Wednesday,Thursday,Friday

怎麼使用:

Weekday wd1=Weekday.Monday;

Weekday wd2=Weekday.Tuesday;

輸出wd1的值就是Monday

Wd2的值就Tuesday

關於類就是能夠理解爲特殊的結構類型:類的操做後面再說

數組類型:

 C#的數組定義和C++不同:

 一維數組定義:int[] shuzu=new int[10];數組空間大小在後面體現;

二維數組定義:int[,] shuzu=new int[2,2];2*2數組

對於數組的初始化:

Int [] shuzu=new int[]{1,2,3};

Int[,] shuzu=new int[2,2]{{1,2},{1,2}};

能夠經過shuzu.lenght這個方法來輸出數組的長度

對於類型間的轉換:隱式和顯示:

例:int a=100;

Long b=(long)a;//顯式

Float c=a//隱式

對於操做符的認識:幾種語言都是同樣的:

-減 *乘 /%求餘 ==等於 =賦值 

注意點:

B=--a//a先減再賦值

B=a--//a先賦值再減

++同上

對於「?:」這個三元操做符;

(a)?b:c//a取真就得b,取假就得c

控制語句:

If() .......else..

If().....else if().....else if().......

Switch語句:

Switch()

{

Case case1:

Break;

Case case2:

Break;

 

Case case3:

Break;

 

Default :

Break;

}

循環語句:

For  while do...while

對於for語句都很熟悉

For(int i=0;i<10;i++)這裏強調的是它判斷了11次不是10

對於while do...while的區別據是do....while要比while多執行一次

C#裏多了一個foreach語句;

用法:int []shuzu=new int[10]{1,2,3,4,5,6,7,8,9,10};

Foreach(int i in shuzu)

{

Console.WriteLine(「{0}」,i);

}//循環取出集合中的值

 

對於跳轉語句:

Continue  break    goto   return

break,continue

              這兩個玩意,太風騷了,都是跳出,但管的範圍不同;

          break經常使用在switch中,就是直接跳出,哥們我不幹了,愛咋咋地,說的就是他;

          continue經常使用在forwhile循環中,他沒break有骨氣,只是偶爾的罷工,而後還得回來繼續幹活,他只是跳出本次循環

          breakswitch中的應用就不解釋了,在for裏看看:

         forint=0;i<100;i++

         {

             if(i==10){

             printf("%d",i);//執行到i=10的時候,由於break這貨要罷工,這個循環就停了,只循環了10下就完了

            break;}

         } 

           再來看看continue

         {

             for(int i=0;i<100;i++)

               {

                 if(i==10)

                  {

                   continue; //在這當i=10  continue罷工了一次,後面的printf語句不執行了,可是for會從i=11繼續循環

                   }

                printf("%d",i);

 

               }

         }

對於goto就是無節操的亂跳,想跳哪跳哪

例:A:

Goto A

至於return這個就是直接結束這個函數的執行
 第二章:

這章主要是講類的結構:

類的成員:成員的類型,能夠是第一章講個各類類型;

固然也能夠是類;

對於成員的訪問權限:四類: privatepublicprotected internal

對於internal 在定義類的時候,若是沒有標註權限,默認就是internal

對於類,記住兩句話:成員屬性是對類特徵的描述,成員方法是對類行爲的描述;

對於類裏面的靜態成員和非靜態成員:注意對他們的

例:class Student

{

  Public static int a=1;

  Public int b;

   Public static void print()

}

Public void print1()

{

}

      

對於靜態的調用就是

Student.print();

Student.a=2;//這個就是把類自己的a的值給換了

而對於非靜態的調用就是先new對象

Student stu=new Student();

Stu.print1();

Stu.b=2;

記住這個字段,在考題裏會問,怎麼定義常量字段,在C#裏有一個const,這個字段至關於C/C++裏的 #define

還有一個readonly顧名思義就是隻讀不能改;

對於方法有幾點要注意:

方法參數:值傳遞和引用傳遞。重點記憶;

值傳遞都知道,下面看看C#裏的引用傳遞:

例:

Void swap(ref int a,ref int b)

{

  Int c=a;

   A=b;

B=c;

}

main函數調用:

Main()

{

   Int a=2,b=3;

Swap(ref a,ref b);

}

上面的例子要好好看看,考試重點;

對於數組作參數:C#規定 方法裏只能有一個數組作參數,必須寫在最後一個參數上,還必須是一維的,不能同時做爲引用參數或輸出參數;

對於方法的重載:

1.不能根據返回值來使用重載//注意這個

2.根據參數類型使用重載

3.根據參數個數使用重載;

構造函數和析構函數:

構造函數是在建立對象時就被調用,不能有返回值;

析構函數是在建立對象後調用的,目的是打掃後事;

課本上還有個靜態構造函數,這個沒用過,但也講講,它一輩子就被用一次,也就是首次使用這個類的時候,第一個建立對象的時候被使用,再對類建立對象的時候就不被調用了;

Class Student

{

   //構造函數

   Public Student(){

   Console.WriteLine(「開始」);     

}

//靜態構造函數

Public static Student(){

Console.WriteLine(「個人第一次」);     

 

}

  //析構函數

~Student(){

Console.WriteLine(「結束」);     

 

}

}

 

Student stu1=new Student();

//輸出:開始

       個人第一次

       結束

Student stu2=new Student();

//輸出:開始

       結束

對於類的屬性:屬性要被封裝纔可靠;

get set來索引;

封裝的好處就是,對技術細節進行隱藏//這點要記住

對於操做符的重載:

能夠看看書P65的例子,能夠看下;

對於this,就是代指本對象,沒別的意思;

當在繼承父類時,調用父類屬性時用base;就是區別下;

相關文章
相關標籤/搜索