查看: 180|回復: 0
打印 上一主題 下一主題

六和釆曾道人775888网: [其他] Unity的C#入門基礎2

[復制鏈接]
yanny    

曾道人攻略图2019 www.tqikp.icu 600

主題

0

聽眾

1萬

積分

版主

Rank: 7Rank: 7Rank: 7

納金幣
11078
精華
0

優秀版主 榮譽管理 論壇元老

跳轉到指定樓層
樓主
發表于 2017-10-30 11:54:22 |只看該作者 |倒序瀏覽
鳴謝:杭者(//www.cnblogs.com/HangZhe/)

一.Debug的使用int a=3;
Debug.Log("a="+a);

二.整數的定義int m;
Debug.Log(m);  //C#比C更嚴謹,沒有初始化的變量打印出來使沒有意義的,會報錯,這個m目前是一個不確定的數。C#的任何一行代碼都是有意義的。

三.浮點數的定義//C#比C更嚴謹,不能像C中的那樣
float a;
a=0.1;
//會報錯,必須是
float a;
a=0.1f;

四.表達式1.賦值表達式=
2.算術表達式+-*/,%,++,--
注意:整數之間的除法做完,是整數,會把余數直接去掉。小數之間的除法做完,則是小數。
        小數和整數的混合運算,結果以精度高的為準。
   各種運算的混合,也要按照表達式的優先級。
    字符與加法的混合,結果是一個字符。

   a++的,必須把和a有關的先計算完,才能再把a+1
        ++a的,必須先把a+1,再進行和a有關的計算
3.比較表達式>,<,>=,<=,==,!=
4.邏輯表達式&&,||
注意:左右語句都必須是邏輯表達式,有true或者false結果的,C#比C更嚴謹,C里面還可以用一個整型變量表示true,只要不為0就是true,但是在C#中則完全不行,會報錯。
5.類型強轉
注意:高精度轉低精度,精度有損失,必須要用顯示的強轉符(int),就算是1.00轉1也不行,C#更嚴謹,低精度轉高精度不需要。

五.執行順序1.順序執行,如果是函數中的順序執行,執行完后會執行return語句,就算沒有return語句,也會在函數大括號前隱氏地執行return語句返回。
2.條件語句,if(邏輯表達式){},if(邏輯表達式){}else{},if(邏輯表達式){}else if(邏輯表達式){}else{},switch(整數變量/字符變量){case 1:{} break;case 2:{} break;defalut:{}}
注意:switch中的case后面必須帶一個break,不像C可以不帶,C#更嚴謹。
3.循環語句,for(初始化,初始化;循環是否繼續的條件判斷;循環迭代,循環迭代){},do{}while(邏輯表達式),while(邏輯表達式){},
      break:終止所以循環,continue:終止本次循環,進行下一次循環
注意:for循環,首先初始化,然后判斷是否滿足循環條件,如果滿足,執行循環體,最后執行循環迭代,接著判斷是否滿足循環條件...;如果不滿足,則退出循環。
        for循環的初始化,循環是否繼續的條件判斷,循環迭代都可以省略。
    for循環的循環是否繼續的條件判斷省略的話就是死循環。


六.函數調用和參數傳遞(和C最大不同)C#數據類型:1.基本數據類型  2.引用類型(存的是對象的引用)
注意:1.函數的參數是另外一個變量,函數參數傳遞只是變量間值的傳遞,也就是變量和變量之間的賦值
        2.但是如果函數參數的類型是引用類型的,當函數返回時,會把原來的引用變量所指的內容改變,因為被賦值的函數引用變量參數也指向了原先引用變量所指向的內容。

七.out的用法(C#和所以語言都不同的一點)例子
Person p;
p=new Person();
p.name=1;
p.age=10;

create_person(out p);
Debug.Log("p.age=",p.age);//結果等于11

void create_person(out Person p){
  p=new Person; //為了區別函數引用變量傳遞也可以改變原來引用變量所指內容,也就是證明這個person和函數外面那個person不一樣,這里故意弄成兩個不同的person,如果是平時沒有out時傳基本類型進來,系統會自動幫我們創建新的變量。
          //還有一種更直觀的區別函數引用變量傳遞和out修飾的函數引用變量傳遞的區別,就是函數引用變量傳遞的函數中如果把p=null,外面的p依然不為null,而out修飾的函數引用變量傳遞中把p=null;則外面的那個p就是null。
  p.name=0;
  p.age=11;
}
//被out修飾的參數,那么在函數內可以直接修改這個變量的值,不管是基礎類型的變量還是引用類型的變量。
//我是這樣通俗理解的:被out修飾的參數,會把在函數中經過的變化,更新到原來外面的變量,從頭到尾就是一個變量被更新了的感覺。

您需要登錄后才可以回帖 登錄 | 立即注冊

關閉

站長推薦上一條 /1 下一條

手機版|曾道人攻略图2019 ( 閩ICP備08008928號  

GMT+8, 2019-9-21 06:20 , Processed in 0.117317 second(s), 33 queries .

Powered by 曾道人攻略图2019-曾道人攻略图2019 X2.5

© 2008-2019 Narkii Inc.

回頂部