C# Break
它被用于“跳出” switch
語句。
break
語句也可用于跳出循環(huán)。
以下示例在 i
等于 4
時跳出循環(huán):
示例:
for (int i = 0; i < 10; i++)
{
if (i == 4)
{
break;
}
Console.WriteLine(i);
}
C# Continue
continue
語句在循環(huán)中發(fā)生特定條件時中斷一次迭代,并繼續(xù)進行下一次迭代。
以下示例跳過了值為 4
的情況:
示例
for (int i = 0; i < 10; i++)
{
if (i == 4)
{
continue;
}
Console.WriteLine(i);
}
在 While 循環(huán)中使用 Break 和 Continue
您也可以在 while
循環(huán)中使用 break
和 continue
:
Break 示例
int i = 0;
while (i < 10)
{
Console.WriteLine(i);
i++;
if (i == 4)
{
break;
}
}
Continue 示例
int i = 0;
while (i < 10)
{
if (i == 4)
{
i++;
continue;
}
Console.WriteLine(i);
i++;
}
C# Arrays
創(chuàng)建數(shù)組
數(shù)組用于在單個變量中存儲多個值,而不是為每個值聲明單獨的變量。
要聲明數(shù)組,請使用方括號定義變量類型:
string[] cars;
我們現(xiàn)在聲明了一個變量,該變量持有一個字符串?dāng)?shù)組。
要向其中插入值,我們可以使用數(shù)組字面量 - 將值放在花括號內(nèi),用逗號分隔:
string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
要創(chuàng)建一個整數(shù)數(shù)組,您可以編寫:
int[] myNum = {10, 20, 30, 40};
訪問數(shù)組元素
通過引用索引號來訪問數(shù)組元素。
此語句訪問 cars
中第一個元素的值:
string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
Console.WriteLine(cars[0]);
// 輸出 Volvo
注意:數(shù)組索引從 0 開始:[0]
是第一個元素。[1]
是第二個元素,以此類推。
更改數(shù)組元素
要更改特定元素的值,請引用索引號:
cars[0] = "Opel";
string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
cars[0] = "Opel";
Console.WriteLine(cars[0]);
// 現(xiàn)在輸出 Opel 而不是 Volvo
數(shù)組長度
要了解數(shù)組有多少個元素,請使用 Length
屬性:
string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
Console.WriteLine(cars.Length);
// 輸出 4
創(chuàng)建數(shù)組的其他方法
如果您熟悉 C#,可能已經(jīng)看到使用 new
關(guān)鍵字創(chuàng)建的數(shù)組,而且可能還看到具有指定大小的數(shù)組。在 C# 中,有不同的創(chuàng)建數(shù)組的方法:
// 創(chuàng)建包含四個元素的數(shù)組,并稍后添加值
string[] cars = new string[4];
// 創(chuàng)建包含四個元素的數(shù)組并立即添加值
string[] cars = new string[4] {"Volvo", "BMW", "Ford", "Mazda"};
// 創(chuàng)建四個元素的數(shù)組,立即添加值,而不指定大小
string[] cars = new string[] {"Volvo", "BMW", "Ford", "Mazda"};
// 創(chuàng)建包含四個元素的數(shù)組,省略 new 關(guān)鍵字,并且不指定大小
string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
由您選擇使用哪種選項,經(jīng)常使用最后一種選項,因為它更快速且更易讀
但是,請注意,如果您聲明數(shù)組并稍后初始化它,您必須使用 new
關(guān)鍵字:
// 聲明一個數(shù)組
string[] cars;
// 使用 new 添加值
cars = new string[] {"Volvo", "BMW", "Ford"};
// 不使用 new 添加值(這將導(dǎo)致錯誤)
cars = {"Volvo", "BMW", "Ford"};
C# Loop Through Arrays
循環(huán)遍歷數(shù)組
您可以使用 for
循環(huán)遍歷數(shù)組元素,并使用 Length
屬性指定循環(huán)應(yīng)運行多少次。
以下示例輸出 cars
數(shù)組中的所有元素:
示例:
string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
for (int i = 0; i < cars.Length; i++)
{
Console.WriteLine(cars[i]);
}
foreach 循環(huán)
還有一個專門用于遍歷數(shù)組元素的 foreach
循環(huán):
語法
foreach (type variableName in arrayName)
{
// 要執(zhí)行的代碼塊
}
以下示例使用 foreach
循環(huán)輸出 cars
數(shù)組中的所有元素:
示例
string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
foreach (string i in cars)
{
Console.WriteLine(i);
}
上面的示例可以這樣理解:對于數(shù)組中的每個字符串元素(稱為 i
- 如索引),打印出 i
的值。
如果您比較 for
循環(huán)和 foreach
循環(huán),您會發(fā)現(xiàn) foreach
方法更容易編寫,不需要計數(shù)器(使用 Length
屬性),而且更易讀。
C# Sort Arrays
排序數(shù)組
有許多可用的數(shù)組方法,例如 Sort()
,它可以按字母順序或升序?qū)?shù)組進行排序:
示例:
// 對字符串進行排序
string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
Array.Sort(cars);
foreach (string i in cars)
{
Console.WriteLine(i);
}
// 對整數(shù)進行排序
int[] myNumbers = {5, 1, 8, 9};
Array.Sort(myNumbers);
foreach (int i in myNumbers)
{
Console.WriteLine(i);
}
System.Linq 命名空間
其他有用的數(shù)組方法,如 Min
、Max
和 Sum
,可以在 System.Linq
命名空間中找到:
示例
using System;
using System.Linq;
namespace MyApplication
{
class Program
{
static void Main(string[] args)
{
int[] myNumbers = {5, 1, 8, 9};
Console.WriteLine(myNumbers.Max()); // 返回最大值
Console.WriteLine(myNumbers.Min()); // 返回最小值
Console.WriteLine(myNumbers.Sum()); // 返回元素的和
}
}
}
C# Multidimensional Arrays
多維數(shù)組
如果您想將數(shù)據(jù)存儲為表格形式,比如具有行和列的表格,您需要了解多維數(shù)組。
多維數(shù)組基本上就是數(shù)組的數(shù)組。
數(shù)組可以有任意數(shù)量的維度。最常見的是二維數(shù)組(2D)。
二維數(shù)組
要創(chuàng)建一個二維數(shù)組,請在每個數(shù)組中添加自己的一組花括號,并在方括號內(nèi)插入逗號(,):
示例:
int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
好知道:單個逗號 [,]
指定數(shù)組是二維的。三維數(shù)組將有兩個逗號:int[,,]
。
現(xiàn)在,numbers
是一個包含兩個數(shù)組的數(shù)組。第一個數(shù)組元素包含三個元素:1、4 和 2,而第二個數(shù)組元素包含 3、6 和 8。為了可視化,可以將該數(shù)組看作是一個帶有行和列的表格:
訪問二維數(shù)組的元素
要訪問二維數(shù)組的元素,必須指定兩個索引:一個用于數(shù)組,一個用于該數(shù)組中的元素。或者更好地說,考慮到表格的可視化;一個用于行,一個用于列(見下面的示例)。
此語句訪問了 numbers
數(shù)組中第一行(0)和第三列(2)中元素的值:
示例
int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
Console.WriteLine(numbers[0, 2]); // 輸出 2
記住:數(shù)組索引從 0 開始:[0]
是第一個元素。[1]
是第二個元素,以此類推。
更改二維數(shù)組的元素
您還可以更改元素的值。
以下示例將更改第一行(0)和第一列(0)中元素的值:
示例
int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
numbers[0, 0] = 5; // 更改值為 5
Console.WriteLine(numbers[0, 0]); // 輸出 5 而不是 1
循環(huán)遍歷二維數(shù)組
您可以使用 foreach
循環(huán)輕松遍歷二維數(shù)組的元素:
示例
int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
foreach (int i in numbers)
{
Console.WriteLine(i);
}
您還可以使用 for
循環(huán)。對于多維數(shù)組,您需要為數(shù)組的每個維度使用一個循環(huán)。
還要注意,我們必須使用 GetLength()
而不是 Length
來指定循環(huán)應(yīng)該運行多少次:
示例
int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
for (int i = 0; i < numbers.GetLength(0); i++)
{
for (int j = 0; j < numbers.GetLength(1); j++)
{
Console.WriteLine(numbers[i, j]);
}
}
該文章在 2024/3/26 18:39:42 編輯過