# 2019/0131/C#流程控制&變數型別

## C#流程控制(迴圈陣列)變數型別

### loop

for loop&#x20;

效率時間會成指數性成長

&#x20;x += y 相當於 x = x + y

```
   string result = "";
            for (int i = 1; i <= 1000; i++)
            {
                result += "*";
                Response.Write(result);
                Response.Write("<br />");
            }

```

### 陣列  Array  集合

#### 一維陣列

&#x20;        1   2    3    4   5   6   7   8   9       個數 ( 陣列大小 )

A     "1" "2" "3" "4" .....                           A 盒子裡面的值

&#x20;​       0    1    2    3   4   5   6   7   8       索引值

```
宣告 int [ ] arrNumber=new int [5] ;

宣告一個int資料型態的陣列 叫 arrNumner 有5格

a[5]="6" 把資料 "6" 丟到第5格
```

```
  //陣列

            int[] arrNumber = new int[5];

            arrNumber[0] = 6;
            arrNumber[1] = 7;
            arrNumber[2] = 8;
            arrNumber[3] = 9;
            arrNumber[4] = 10;

            Response.Write(arrNumber[2]);  //輸出8
```

#### 迴圈 + 陣列

```
實務上通常使用 <5 最終值5。 >=4 較不會用 因為通常不會知道結束最大值
所以通常使用以下方式

         
            
string[] arrRainbow = { "紅", "橙", "黃", "綠", "藍", "靛", "紫" };  // 宣告陣列值

   for (int i = 0; i < arrNumber.Length; i++)  /// 表達法 : 物件.屬性/方法
 {
   Response.Write(arrRainbow[i]);
 }

```

foreach ( 條件 ) { 要做的事 }

只要條件符合就執行一次

讀集合較好用

while ( 條件 ) { 要做的事 }

只要符合就做一次，做完後會再去檢視條件如果成立就繼續做。

無窮迴圈

必須讓 要做的事情去改變條件 讓最後條件事不符合的 不然就會造成無線輪迴

跳出迴圈的這個流程控制方式:&#x20;

* ‧break:直接跳出迴圈後，會繼續執行迴圈外的程式
* ‧return :直接跳出結束那個函式，不會繼續執行迴圈外的程式
* ‧continue:跳過當前循環體中的當次迴圈(i)，進入下一次迴圈(i+1)，並回上一層繼續執行迴圈外的程式

### else if 不符合第一個 if 但符合這個 執行以下內容

## CCIE  思科

## variable type 變數型別

string 字串 bool 布林值

byte 8bit 正整數 short 16bit 整數 int 32bit 整數 long 64bit 整數

float 32bit 浮點數\
double 64bit 浮點數

more...

C#2010:<https://www.tutorialspoint.com/csharp/csharp_data_types.htm>
