C# Break
它被用于“跳出” switch
語(yǔ)句。
break
語(yǔ)句也可用于跳出循環(huán)。
以下示例在 i
等于 4
時(shí)跳出循環(huán):
示例:
for (int i = 0; i < 10; i++)
{
if (i == 4)
{
break;
}
Console.WriteLine(i);
}
C# Continue
continue
語(yǔ)句在循環(huán)中發(fā)生特定條件時(shí)中斷一次迭代,并繼續(xù)進(jìn)行下一次迭代。
以下示例跳過(guò)了值為 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ù)組用于在單個(gè)變量中存儲(chǔ)多個(gè)值,而不是為每個(gè)值聲明單獨(dú)的變量。
要聲明數(shù)組,請(qǐng)使用方括號(hào)定義變量類型:
string[] cars;
我們現(xiàn)在聲明了一個(gè)變量,該變量持有一個(gè)字符串?dāng)?shù)組。
要向其中插入值,我們可以使用數(shù)組字面量 - 將值放在花括號(hào)內(nèi),用逗號(hào)分隔:
string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
要?jiǎng)?chuàng)建一個(gè)整數(shù)數(shù)組,您可以編寫:
int[] myNum = {10, 20, 30, 40};
訪問(wèn)數(shù)組元素
通過(guò)引用索引號(hào)來(lái)訪問(wèn)數(shù)組元素。
此語(yǔ)句訪問(wèn) cars
中第一個(gè)元素的值:
string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
Console.WriteLine(cars[0]);
// 輸出 Volvo
注意:數(shù)組索引從 0 開(kāi)始:[0]
是第一個(gè)元素。[1]
是第二個(gè)元素,以此類推。
更改數(shù)組元素
要更改特定元素的值,請(qǐng)引用索引號(hào):
cars[0] = "Opel";
string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
cars[0] = "Opel";
Console.WriteLine(cars[0]);
// 現(xiàn)在輸出 Opel 而不是 Volvo
數(shù)組長(zhǎng)度
要了解數(shù)組有多少個(gè)元素,請(qǐng)使用 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)建包含四個(gè)元素的數(shù)組,并稍后添加值
string[] cars = new string[4];
// 創(chuàng)建包含四個(gè)元素的數(shù)組并立即添加值
string[] cars = new string[4] {"Volvo", "BMW", "Ford", "Mazda"};
// 創(chuàng)建四個(gè)元素的數(shù)組,立即添加值,而不指定大小
string[] cars = new string[] {"Volvo", "BMW", "Ford", "Mazda"};
// 創(chuàng)建包含四個(gè)元素的數(shù)組,省略 new 關(guān)鍵字,并且不指定大小
string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
由您選擇使用哪種選項(xiàng),經(jīng)常使用最后一種選項(xiàng),因?yàn)樗焖偾腋鬃x
但是,請(qǐng)注意,如果您聲明數(shù)組并稍后初始化它,您必須使用 new
關(guān)鍵字:
// 聲明一個(gè)數(shù)組
string[] cars;
// 使用 new 添加值
cars = new string[] {"Volvo", "BMW", "Ford"};
// 不使用 new 添加值(這將導(dǎo)致錯(cuò)誤)
cars = {"Volvo", "BMW", "Ford"};
C# Loop Through Arrays
循環(huán)遍歷數(shù)組
您可以使用 for
循環(huán)遍歷數(shù)組元素,并使用 Length
屬性指定循環(huán)應(yīng)運(yùn)行多少次。
以下示例輸出 cars
數(shù)組中的所有元素:
示例:
string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
for (int i = 0; i < cars.Length; i++)
{
Console.WriteLine(cars[i]);
}
foreach 循環(huán)
還有一個(gè)專門用于遍歷數(shù)組元素的 foreach
循環(huán):
語(yǔ)法
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);
}
上面的示例可以這樣理解:對(duì)于數(shù)組中的每個(gè)字符串元素(稱為 i
- 如索引),打印出 i
的值。
如果您比較 for
循環(huán)和 foreach
循環(huán),您會(huì)發(fā)現(xiàn) foreach
方法更容易編寫,不需要計(jì)數(shù)器(使用 Length
屬性),而且更易讀。
C# Sort Arrays
排序數(shù)組
有許多可用的數(shù)組方法,例如 Sort()
,它可以按字母順序或升序?qū)?shù)組進(jìn)行排序:
示例:
// 對(duì)字符串進(jìn)行排序
string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
Array.Sort(cars);
foreach (string i in cars)
{
Console.WriteLine(i);
}
// 對(duì)整數(shù)進(jìn)行排序
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ù)存儲(chǔ)為表格形式,比如具有行和列的表格,您需要了解多維數(shù)組。
多維數(shù)組基本上就是數(shù)組的數(shù)組。
數(shù)組可以有任意數(shù)量的維度。最常見(jiàn)的是二維數(shù)組(2D)。
二維數(shù)組
要?jiǎng)?chuàng)建一個(gè)二維數(shù)組,請(qǐng)?jiān)诿總€(gè)數(shù)組中添加自己的一組花括號(hào),并在方括號(hào)內(nèi)插入逗號(hào)(,):
示例:
int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
好知道:?jiǎn)蝹€(gè)逗號(hào) [,]
指定數(shù)組是二維的。三維數(shù)組將有兩個(gè)逗號(hào):int[,,]
。
現(xiàn)在,numbers
是一個(gè)包含兩個(gè)數(shù)組的數(shù)組。第一個(gè)數(shù)組元素包含三個(gè)元素:1、4 和 2,而第二個(gè)數(shù)組元素包含 3、6 和 8。為了可視化,可以將該數(shù)組看作是一個(gè)帶有行和列的表格:
訪問(wèn)二維數(shù)組的元素
要訪問(wèn)二維數(shù)組的元素,必須指定兩個(gè)索引:一個(gè)用于數(shù)組,一個(gè)用于該數(shù)組中的元素?;蛘吒玫卣f(shuō),考慮到表格的可視化;一個(gè)用于行,一個(gè)用于列(見(jiàn)下面的示例)。
此語(yǔ)句訪問(wèn)了 numbers
數(shù)組中第一行(0)和第三列(2)中元素的值:
示例
int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
Console.WriteLine(numbers[0, 2]); // 輸出 2
記?。簲?shù)組索引從 0 開(kāi)始:[0]
是第一個(gè)元素。[1]
是第二個(gè)元素,以此類推。
更改二維數(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)。對(duì)于多維數(shù)組,您需要為數(shù)組的每個(gè)維度使用一個(gè)循環(huán)。
還要注意,我們必須使用 GetLength()
而不是 Length
來(lái)指定循環(huán)應(yīng)該運(yùn)行多少次:
示例
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 編輯過(guò)