Microsoft C# | 陣列相關的協助方法

更新於 2022/07/25閱讀時間約 1 分鐘

前言

  本篇文章將會介紹陣列的排列、反轉、清除、擴增等方法,能協助程式員在撰寫程式時的操作,並會介紹字元相關的方法。

陣列(Array)

  陣列可以儲存值的序列,當陣列中有資料,即可操控陣列順序和內容,有一些陣列協助程式的方法,執行字串作業,此類別包含操控陣列內容、排列與大小方法。

排列(Array.Sort(name);)

string[] pallets = { "B14", "A11", "B12", "A13" };

Console.WriteLine("Sorted...");
Array.Sort(pallets);
foreach (var pallet in pallets)
{
Console.WriteLine($"-- {pallet}");
}
重點關注Array.Sort(pallets);,用來以英數字元順序排列陣列中的項目。
Sorted...
-- A11
-- A13
-- B12
-- B14

反轉(Array.Reverse())

string[] pallets = { "B14", "A11", "B12", "A13" };

Console.WriteLine("Sorted...");
Array.Sort(pallets);
foreach (var pallet in pallets)
{
Console.WriteLine($"-- {pallet}");
}

Console.WriteLine("");
Console.WriteLine("Reversed...");
Array.Reverse(pallets);
foreach (var pallet in pallets)
{
Console.WriteLine($"-- {pallet}");
}
將用Array.Reverse(pallets); 來反轉項目順序,以下為官方的輸出:
Sorted...
-- A11
-- A13
-- B12
-- B14

Reversed...
-- B14
-- B12
-- A13
-- A11

清除(Array.Clear())

string[] pallets = { "B14", "A11", "B12", "A13" };
Console.WriteLine("");

Array.Clear(pallets, 0, 2);
Console.WriteLine($"Clearing 2 ... count: {pallets.Length}");
foreach (var pallet in pallets)
{
Console.WriteLine($"-- {pallet}");
}
  關注核心程式碼 Array.Clear(pallets,0,2); ,這項程式碼的意思是:再pallets中,從0開始清除兩個元素,這些值會存在,不會為空字串。
Clearing 2 ... count: 4
--
--
-- B12
-- A13

空字串與Null的比較

  Clear清除的元素不再參考記憶體中的字串,元素不會指向任何東西,這是新手不容易掌控的區別。

呼叫清除的元素

  例如Clear清除後的陣列項目為Null,在這種情況下使用方法(像是ToLower()),會出現較大的錯誤訊息,例外狀況的原因是我們嘗試在 C# 編譯器隱含地將 Null 轉換為空字串之前就嘗試在陣列中的元素的內容上呼叫方法。
因此需要在可能存取Null值的陣列元素前新增一項 if 判斷式。
if (pallets[0] != null)
Console.WriteLine($"After: {pallets[0].ToLower()}");

擴增(Array.Resize(ref pallets,6);)

string[] pallets = { "B14", "A11", "B12", "A13" };
Console.WriteLine("");

Array.Clear(pallets, 0, 2);
Console.WriteLine($"Clearing 2 ... count: {pallets.Length}");
foreach (var pallet in pallets)
{
Console.WriteLine($"-- {pallet}");
}

Console.WriteLine("");
Array.Resize(ref pallets, 6);
Console.WriteLine($"Resizing 6 ... count: {pallets.Length}");

pallets[4] = "C01";
pallets[5] = "C02";

foreach (var pallet in pallets)
{
Console.WriteLine($"-- {pallet}");
}
  關注 Array.Resize(ref pallets,6); ,呼叫Resize方法,並使用ref關鍵字以傳參考方式傳入pallets陣列,此案例中將pallets陣列元素從4個調整到6個,新元素值為Null,直到指派。
ref
  方法要求以傳值方式(預設)或傳參考方法(ref關鍵字)傳遞引數,而這兩種的差別需要解釋物件在 .NET 中如何管理,需要篇幅不小。

字串資料類型的Array方法

  類型為String變數具有許多可將單一字串轉換為較小字串陣列或個別字元陣列的內建方法。

ToCharArray()

string value = "abc123";
char[] valueArray = value.ToCharArray();

字元陣列合併成新字串

string value = "abc123";
char[] valueArray = value.ToCharArray();
Array.Reverse(valueArray);
string result = new string(valueArray);
Console.WriteLine(result);

Join(String.Join())

  若需要使用逗號分隔字元陣列中的元素,可用此方法
string value = "abc123";
char[] valueArray = value.ToCharArray();
Array.Reverse(valueArray);
// string result = new string(valueArray);
string result = String.Join(",", valueArray);
Console.WriteLine(result);

Split()

類型為字串之變數可用 Split() 方法,將新的逗點分隔值字串分割為字串陣列。
string value = "abc123";
char[] valueArray = value.ToCharArray();
Array.Reverse(valueArray);
// string result = new string(valueArray);
string result = String.Join(",", valueArray);
Console.WriteLine(result);

string[] items = result.Split(',');
foreach (string item in items)
{
Console.WriteLine(item);
}
輸出
3,2,1,c,b,a
3
2
1
c
b
a

後記

  陣列的這些協助方法感覺很有用,不過目前我還沒正式使用到陣列,這可能跟我沒接觸到太多筆資料有關係,但我相信未來我會很常接觸到這些東西。

參考資料

使用 C# 中的協助程式方法在陣列上執行作業






















即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
avatar-img
105會員
247內容數
對設計師如何成長為設計師好奇嗎? 2020年九月,我進入大學學習當一位設計師,從開始到沉寂,再到重燃熱忱,我將在方格子紀錄我的成長歷程、理念、心情,分享我在這段旅程中所經歷的故事。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
瓶裝雪的沙龍 的其他內容
C#跟其他程式語言最大的差別,在於它有嚴格規定資料型態,這篇文章將會講述 C#中資料型態轉換的方式,並藉由官方的範例來介紹各個關鍵字和陳述式,說明他們的運作原理。
前言   這篇文章將會介紹 for 陳述式和 foreach 陳述式,以及比較兩者的差別,並撰寫範例介紹用途。 迴圈使用條件   當我們需要重複執行程式碼達特定次數,或需要控制.NET執行階段去執行反覆項目的方式時,會使用到迴圈,在遊戲產程式中,迴圈更是不可少的重要程式碼區塊。 for 關鍵字
這篇文章將會介紹運算式與程式碼小知識,並介紹Switch-case這常用的陳述式,並提供範例的程式碼。
Side Project 是打破傳說魔咒的解咒法,對於新鮮人來說,要找工作大多都要求工作經驗,然而這就跟打副本需要至少兩次刷副本的經驗一樣,若在團隊中沒有熟人,永遠會卡在等級一。
這篇文章將會告訴你詭野西部這一款遊戲的設計巧思,優秀的設計點以及創新之處。
這篇文章將會講述在程式員中的慣例,命名規則,這些規則並不具有強制力,但能讓你在寫程式時有更好的可讀性。
C#跟其他程式語言最大的差別,在於它有嚴格規定資料型態,這篇文章將會講述 C#中資料型態轉換的方式,並藉由官方的範例來介紹各個關鍵字和陳述式,說明他們的運作原理。
前言   這篇文章將會介紹 for 陳述式和 foreach 陳述式,以及比較兩者的差別,並撰寫範例介紹用途。 迴圈使用條件   當我們需要重複執行程式碼達特定次數,或需要控制.NET執行階段去執行反覆項目的方式時,會使用到迴圈,在遊戲產程式中,迴圈更是不可少的重要程式碼區塊。 for 關鍵字
這篇文章將會介紹運算式與程式碼小知識,並介紹Switch-case這常用的陳述式,並提供範例的程式碼。
Side Project 是打破傳說魔咒的解咒法,對於新鮮人來說,要找工作大多都要求工作經驗,然而這就跟打副本需要至少兩次刷副本的經驗一樣,若在團隊中沒有熟人,永遠會卡在等級一。
這篇文章將會告訴你詭野西部這一款遊戲的設計巧思,優秀的設計點以及創新之處。
這篇文章將會講述在程式員中的慣例,命名規則,這些規則並不具有強制力,但能讓你在寫程式時有更好的可讀性。
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
Offision是專為Microsoft Teams設計的一款創新應用程式,提供無縫和高效的辦公桌預約和辦公室管理解決方案。 瞭解如何使用Offision優化辦公空間,增強團隊協作,並實現靈活的工作安排。
Thumbnail
隨著現代企業管理的不斷發展,Excel已經成為HR部門必備的數據分析和處理工具。在本文中,我們將介紹10個HR常用的Excel函數公式,這些函數公式可以幫助HR部門更快速、準確地完成數據分析和處理,提高工作效率。
Thumbnail
對於投行新人來說,熟練使用各種快速鍵可以大大提高工作效率和準確性。在進行比較簡單的任務,如複製和貼上資訊時,甚至可以一邊聽著節奏的音樂一邊敲打鍵盤,這可說是工作中的一大樂趣了。今天就整理一些投行新人最常用的Excel快速鍵,希望對大家有所幫助~
Thumbnail
Llama 2介紹 下一代開源的大型語言模型的 Llama 2 可以免費用於研究和商業用途。 1. 開源的大型語言模型: Llama 2是一個開源的大型語言模型,這意味著它對於研究人員和企業來說是一個極具價值的資源。開源模型可以讓我們深入了解其內部運作,並且可以根據特定需求進
Thumbnail
這篇文章是我 2023 年微軟實習準備與面試的經驗分享(體感上大概經歷了半年準備吧,哈)。從韓文、新聞跨去科技業,甚至第一次面試就闖到微軟的最後一關主管面試,體驗了外商的重重關卡(煎熬但學到超級多)相當值得記錄,就跟著我一起回顧一下這個特別的旅程吧!
Thumbnail
快速總覽微軟 Microsoft 公佈的 2022 會計年度第四季的獲利
Thumbnail
Sony在三月底正式公布全新的PlayStation Plus遊戲訂閱服務,正式向Microsoft旗下的XGP宣戰。這篇文聊聊Microsoft跟Sony的遊戲訂閱服務大戰誰較有機會勝出。
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
Offision是專為Microsoft Teams設計的一款創新應用程式,提供無縫和高效的辦公桌預約和辦公室管理解決方案。 瞭解如何使用Offision優化辦公空間,增強團隊協作,並實現靈活的工作安排。
Thumbnail
隨著現代企業管理的不斷發展,Excel已經成為HR部門必備的數據分析和處理工具。在本文中,我們將介紹10個HR常用的Excel函數公式,這些函數公式可以幫助HR部門更快速、準確地完成數據分析和處理,提高工作效率。
Thumbnail
對於投行新人來說,熟練使用各種快速鍵可以大大提高工作效率和準確性。在進行比較簡單的任務,如複製和貼上資訊時,甚至可以一邊聽著節奏的音樂一邊敲打鍵盤,這可說是工作中的一大樂趣了。今天就整理一些投行新人最常用的Excel快速鍵,希望對大家有所幫助~
Thumbnail
Llama 2介紹 下一代開源的大型語言模型的 Llama 2 可以免費用於研究和商業用途。 1. 開源的大型語言模型: Llama 2是一個開源的大型語言模型,這意味著它對於研究人員和企業來說是一個極具價值的資源。開源模型可以讓我們深入了解其內部運作,並且可以根據特定需求進
Thumbnail
這篇文章是我 2023 年微軟實習準備與面試的經驗分享(體感上大概經歷了半年準備吧,哈)。從韓文、新聞跨去科技業,甚至第一次面試就闖到微軟的最後一關主管面試,體驗了外商的重重關卡(煎熬但學到超級多)相當值得記錄,就跟著我一起回顧一下這個特別的旅程吧!
Thumbnail
快速總覽微軟 Microsoft 公佈的 2022 會計年度第四季的獲利
Thumbnail
Sony在三月底正式公布全新的PlayStation Plus遊戲訂閱服務,正式向Microsoft旗下的XGP宣戰。這篇文聊聊Microsoft跟Sony的遊戲訂閱服務大戰誰較有機會勝出。