【基礎級】-[陣列]-運用

更新於 發佈於 閱讀時間約 6 分鐘

  對於陣列裡的內容值除了把資料存進去外,若想要知道陣列維度、陣列大小、複製陣列的值到另一個陣列中、清除陣列的值等等的相關處理,甚至比較常用到的可能還需要做資料排列、查找資料等等,此時C#有一些屬性方法可以幫助到我們,不用寫複雜的迴圈,來看一看有哪些吧~

一、資料排列

由小到大排列語法:

Array.Sort(陣列名稱);

由大到小排列語法:

Array.Reverse(陣列名稱)

在做這個排列的時候都只能是一維陣列的狀況下喔!

想要由大到小排列就必須先做Sort()後,再做Reverse()唷!


這邊用幾個例子看一下:

1.整數排列

Sort排列

Sort排列

Reverse排列

Reverse排列

Sort 和 Reverse 排列結果

Sort 和 Reverse 排列結果

有沒有看到兩者的差異了,還有另外一種排序就是有有兩個陣列一起排列的,是按照索引值一起排列的哦~我們來看一下:

兩組陣列排列

兩組陣列排列

兩組陣列排列結果

兩組陣列排列結果

可以看到一開始我給予的score陣列的分數是沒經過排列,再看一下name陣列的名字,經過Sort()排列,當score和name的陣列放在一起就是是相對應的小名96分、甜心50分...這樣的對應方式。

因為是將score陣列排在前面,所以sort()排列就會以score陣列為基準帶動著name的索引值去做排列


2.字串排列

字串排列

字串排列

字串排列結果

字串排列結果

這邊字串的排列會依照英文字母去做排列Sort()是由A~Z,先從第一個去做比對,接著再往後去做比對,比對完就會是Sort()排列出來的結果,想要由大到小,一樣再使用Reverse()就可以反過來了喔!


二、搜尋

【語法1】

變數名稱 = Array.IndexOf(陣列名稱 , 內容值)

這一個搜尋的方法通常也是以一個陣列為主在指定的陣列中去做搜尋內容值的值,倘若找不到的話就會傳回「-1」,若找到就會顯示最前面第一個搜尋到的索引值

【語法2】

變數名稱 = Array.IndexOf(陣列名稱 , 內容值 , 從第幾個索引開始)

這一個語法就是多了一個條件,就是從哪一個索引開始往後尋找,找到後也是顯示第一個找到的索引值。

【語法3】

變數名稱 = Array.IndexOf(陣列名稱 , 內容值 , 從第幾個元素開始 , 往後共要找多少元素)

這一個語法又再增加了一個條件,就是除了指定從哪個索引開始搜尋外,還多了從這個索引往後共要再找多少個索引,也是一樣顯示第一個找到的索引值。


那麼我們用例子來看一看

(1)尋找陣列有/無重複值

陣列搜尋 - 無重複

陣列搜尋 - 無重複

陣列搜尋 - 有重複

陣列搜尋 - 有重複

因陣列與搜尋關係,兩者結果一樣

因陣列與搜尋關係,兩者結果一樣

兩者結果一樣是因為搜尋狀況找到第一個就只會顯示第一個找到的索引值了,無論後面有沒有重複都已經不影響。

(2)找不到搜尋的值

搜尋陣列沒有的

搜尋陣列沒有的

找不到結果

找不到結果

(3)有設定起始位置

設定起始位置

設定起始位置

有設定起始位置的結果

有設定起始位置的結果

(4)有設定起始位置以及往後要搜尋的數量-有找到

再設定往後要搜尋的數量

再設定往後要搜尋的數量

再設定往後要搜尋的數量結果

再設定往後要搜尋的數量結果

(5)搜尋有設定起始位置以及往後要搜尋的數量-未找到

再設定往後要搜尋的數量-未找到

再設定往後要搜尋的數量-未找到

再設定往後要搜尋的數量-未找到結果

再設定往後要搜尋的數量-未找到結果



三、想知道陣列相關內容

後面就由大家自行動手操作囉~每一個都跟上面實例一樣都各別建立button和label實際操作看看這些有什麼不一樣,邊做邊學邊記憶。

1.想得到陣列維度

int 變數名稱 = 陣列名稱.Rank;

2.想得到陣列大小

int 變數名稱 = 陣列名稱.GetLength(指定的維度);

3.想要得到陣列所有維度總共的大小

int 變數名稱 = 陣列名稱.Length;

4.想要改變陣列大小

Array.Reise(ref 陣列名稱,陣列大小);
說明:
當我們修改陣列大小時,若比原本大,那麼值就會補0;若比原本小,則會遺失多餘的值,所以要修改的時候要注意!

5.想要複製陣列

原本陣列.CopyTo(要複製到的陣列,起始索引值)
說明:
將原本所有的值全部複製到另一個陣列中,從我們所設定的起始索引值開始。

6.想要刪除陣列中的值

Array.Clear(陣列名稱,起始索引值,要刪除的數量)
說明:
刪除的值會更改為0,會從起始索引值開始計算到我們設定要刪除的數量為止,其餘的值就不會改變。


四、擷取字串功能

對於字串部分,還有一個可以拆解字串的小功能就是「Split」,有時候這個非常好用,例如擷取取得當下的時間、擷取一大串的字、又或是程式代碼的溝通之類的就會使用到擷取字串這個功能

那麼為什麼要放在陣列這邊呢?因為陣列也會用到跟擷取字串的功能哦!所以我就一並在這裡分享。

擷取字串語法

字串.Split(‘間隔的字元’)

這個間隔的字元就像是摩斯密碼一樣,在密密麻麻的資料中拿取需要的字串,但是這個間隔的字元必須是一樣的才行哦!例如都是用「,」、「!」...隔開,就是只能用一種字元。

那陣列跟這個有何關聯?我們用個例子說明:

string color = “紅色&綠色&藍色&黃色&紫紅色&象牙白色&紫色”;
string[] arrayColor = color.Split(‘&’);

這樣的程式執行的結果就會是:

arrayColor[0] =紅色、arrayColor[1] =綠色、arrayColor[2] =藍色、arrayColor[3] = 黃色、arrayColor[4] = 紫紅色、arrayColor[5] =象牙白色、arrayColor[6] = 紫色

有沒有看到也可以利用Spilt擷取字串的方式來轉換成陣列哦!而且我覺得這個超級好玩可以玩摩斯密碼哈哈哈!

下一次會補充分享一個跟陣列很相近的List

留言
avatar-img
留言分享你的想法!
avatar-img
橙果杏的沙龍
24會員
43內容數
Hello~ Welcome to my blog~❤ 這邊會分享我在程式這條道路中的學習與成長, 過程中從而了解自己的不足,再學習。 希望透過分享的方式, 也讓正在學習程式的夥伴們一起學習, 我們一起加油吧~ 「彼此都會成為彼此之間的影響力」(´,,•ω•,,)♡ ❣
橙果杏的沙龍的其他內容
2024/07/30
一、什麼是WinSocket? 也就是大家常說的WinSock全名為Windows Sockets API (WSA),它會透過TCP/IP通訊協定來做網路的通訊,會用在Windows操作系統上來開發網路應用的API(應用程式介面)   二、WinSocket用在哪裡?   Socket可以
Thumbnail
2024/07/30
一、什麼是WinSocket? 也就是大家常說的WinSock全名為Windows Sockets API (WSA),它會透過TCP/IP通訊協定來做網路的通訊,會用在Windows操作系統上來開發網路應用的API(應用程式介面)   二、WinSocket用在哪裡?   Socket可以
Thumbnail
2024/06/29
當我們架好站、WebService測試完,接著就是測試區域網路連線啦~
Thumbnail
2024/06/29
當我們架好站、WebService測試完,接著就是測試區域網路連線啦~
Thumbnail
2024/06/20
前面已經安裝好IIS後,並且也新建站台了,那麼接下來這篇就會分享如何使用它
Thumbnail
2024/06/20
前面已經安裝好IIS後,並且也新建站台了,那麼接下來這篇就會分享如何使用它
Thumbnail
看更多
你可能也想看
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
陣列可以說是最常見的資料結構,LeetCode 裡的題目有過半都和 Array 有關,因此也通常是解題新手的第一站。在第一篇專文,我們就從它的操作方法講起。
Thumbnail
陣列可以說是最常見的資料結構,LeetCode 裡的題目有過半都和 Array 有關,因此也通常是解題新手的第一站。在第一篇專文,我們就從它的操作方法講起。
Thumbnail
資料集中除了陣列這個外,還有另一個好幫手就是List,它跟陣列很像,我們直接來看一下怎麼用: 它的語法: 1.給予值 (1)單一新增: (2)陣列式新增: 例子: 2.取值 (1)foreach迴圈方式 (2)單一取值 3.取得List有多少個內容值 4.排序 想要反轉就再使用↓ 5.插入 6.複製
Thumbnail
資料集中除了陣列這個外,還有另一個好幫手就是List,它跟陣列很像,我們直接來看一下怎麼用: 它的語法: 1.給予值 (1)單一新增: (2)陣列式新增: 例子: 2.取值 (1)foreach迴圈方式 (2)單一取值 3.取得List有多少個內容值 4.排序 想要反轉就再使用↓ 5.插入 6.複製
Thumbnail
陣列運用、擷取字串   對於陣列裡的內容值除了把資料存進去外,若想要知道陣列維度、陣列大小、複製陣列的值到另一個陣列中、清除陣列的值等等的相關處理,甚至比較常用到的可能還需要做資料排列、查找資料等等,此時C#有一些屬性方法可以幫助到我們,不用寫複雜的迴圈,來看一看有哪些吧~
Thumbnail
陣列運用、擷取字串   對於陣列裡的內容值除了把資料存進去外,若想要知道陣列維度、陣列大小、複製陣列的值到另一個陣列中、清除陣列的值等等的相關處理,甚至比較常用到的可能還需要做資料排列、查找資料等等,此時C#有一些屬性方法可以幫助到我們,不用寫複雜的迴圈,來看一看有哪些吧~
Thumbnail
在使用陣列時一開始也是需要做宣告的,那麼這次說的內容是一維陣列,因此一維陣列宣告內容包括:資料型態、陣列名稱、以及陣列的大小。那麼我們就來看一下它的語法是如何的: 說明:等號左邊是做宣告,而右邊是做建立的動作。 一、初始值設定 那麼初始值要怎麼設定呢?這邊有幾種方法,用例子帶大家來看一看: 1.有給
Thumbnail
在使用陣列時一開始也是需要做宣告的,那麼這次說的內容是一維陣列,因此一維陣列宣告內容包括:資料型態、陣列名稱、以及陣列的大小。那麼我們就來看一下它的語法是如何的: 說明:等號左邊是做宣告,而右邊是做建立的動作。 一、初始值設定 那麼初始值要怎麼設定呢?這邊有幾種方法,用例子帶大家來看一看: 1.有給
Thumbnail
  陣列(Array)是什麼?它是一個很好用的東西哦!當我們要處理100個學生的成績的時候,如果沒有陣列的話,那麼我們的變數就要命名100個不同的變數,這樣的程式雖然不是不能執行,想一想,是不是有一點要在命名上會想破頭殼呢?因為要想100個不同的變數麻~   你說:「那就變數後面加入編號就好啦~如
Thumbnail
  陣列(Array)是什麼?它是一個很好用的東西哦!當我們要處理100個學生的成績的時候,如果沒有陣列的話,那麼我們的變數就要命名100個不同的變數,這樣的程式雖然不是不能執行,想一想,是不是有一點要在命名上會想破頭殼呢?因為要想100個不同的變數麻~   你說:「那就變數後面加入編號就好啦~如
Thumbnail
C# 陣列 – (C#教學) – Array為程式設計中最基本元素之一. 陣列就是用一個variable記下多個同類的值(記憶體中的位置), 以供日後所調用. 相關頁面: C# List – 學會List的5種基本應用方法 – 初始化, 加入值, 更新值, 刪除值, foreach迴圈
Thumbnail
C# 陣列 – (C#教學) – Array為程式設計中最基本元素之一. 陣列就是用一個variable記下多個同類的值(記憶體中的位置), 以供日後所調用. 相關頁面: C# List – 學會List的5種基本應用方法 – 初始化, 加入值, 更新值, 刪除值, foreach迴圈
Thumbnail
本篇文章將會介紹陣列的排列、反轉、清除、擴增等方法,能協助程式員在撰寫程式時的操作,並會介紹字元相關的方法。
Thumbnail
本篇文章將會介紹陣列的排列、反轉、清除、擴增等方法,能協助程式員在撰寫程式時的操作,並會介紹字元相關的方法。
Thumbnail
本篇文章將會講述陣列 (Array) 及 foreach 陳述式,陣列是寫程式中關於大筆資料的儲存方式,而 foreach 是處理大筆資料的處理方式之一。
Thumbnail
本篇文章將會講述陣列 (Array) 及 foreach 陳述式,陣列是寫程式中關於大筆資料的儲存方式,而 foreach 是處理大筆資料的處理方式之一。
Thumbnail
這篇我們來看一個在程式開發很常見也很常用的一個東西:Array 陣列 Array在所有的程式開發中還蠻常見的,也一定會出現,因為有很多的資料都會是一長串的,需要有一個物件來去做集中管理。
Thumbnail
這篇我們來看一個在程式開發很常見也很常用的一個東西:Array 陣列 Array在所有的程式開發中還蠻常見的,也一定會出現,因為有很多的資料都會是一長串的,需要有一個物件來去做集中管理。
Thumbnail
陣列(Array)、Vector的關係
Thumbnail
陣列(Array)、Vector的關係
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News