學習軌道
/
C#
C#
/
練習
/
清單上的清單上的清單
清單上的清單上的清單

清單上的清單上的清單

學習練習

簡介

泛型

集合的定義通常會用角括號包住一個預留位置,依慣例通常是T。這樣的集合就叫做泛型。如此一來,集合的使用者就能指定要在集合裡存放哪種型別的項目。在下面的範例程式碼中,我們正在具現化一個字串陣列。

陣列

C# 裡的陣列是由基本型別的值,或是結構和類別的執行個體所構成的集合。它們在基底類別庫中是以List<T>實作的,其中T是陣列中項目的型別。API 提供了一組豐富的方法,可以用來建立和操作陣列。

項目可以加入陣列,也可以從陣列中移除。它們會視需要成長和縮減。

var listOfStrings = new List<string>();

說明

在這個練習中,你會撰寫程式碼,用來追蹤你想在 Exercism 上學習的程式語言陣列。

這個練習有九個任務,每個任務都會用到陣列。

1. 建立一個新的陣列

為了追蹤你想學的語言,你需要建立一個新的陣列。

請實作 static 方法 Languages.NewList(),讓它回傳一個新的空陣列。

Languages.NewList()
// => empty list

2. 定義一個現有的陣列

目前,你有一張紙,上面列出你想學的語言:C#、Clojure 和 Elm。

請實作 static 方法 Languages.GetExistingLanguages(),回傳這個陣列。

Languages.GetExistingLanguages();
// => {"C#", "Clojure", "Elm"}

3. 在陣列中加入新語言

當你在 Exercism 上探索、發現更多有趣的語言時,你會想把它們加進你的陣列。

請實作 static 函式 Languages.AddLanguage(),把新語言加到陣列的最後。

Languages.AddLanguage(Languages.GetExistingLanguages(), "VBA");
// => {"C#", "Clojure", "Elm", "VBA"}

4. 計算陣列中的語言數量

一個一個數這些語言很不方便。

請實作 static 方法 Languages.CountLanguages(),計算陣列中語言的數量。

Languages.CountLanguages(Languages.GetExistingLanguages())
// => 3

5. 檢查某個語言是否在陣列中

請實作 static 方法 Languages.HasLanguage(),檢查某個語言是否存在。

Languages.HasLanguage(Languages.GetExistingLanguages(), "Elm")
// => true

6. 反轉陣列

某個時刻,你發現你的陣列其實是反過來排序的!

請實作 static 方法 Languages.ReverseList(),把你的陣列反轉過來。

Languages.ReverseList(Languages.GetExistingLanguages())
// => {"Elm", "Clojure", "C#"}

7. 檢查陣列是否令人興奮

雖然你喜歡所有語言,但 C# 在你心中有個特別的位置。因此,只要符合下列其中一個條件,你就會對一份語言陣列感到非常興奮:

  • 陣列中的第一個是 C#。
  • 陣列中的第二個項目是 C#,且陣列中剛好有兩個或三個語言。

請實作 static 方法 Languages.IsExciting(),檢查語言陣列是否令人興奮:

Languages.IsExciting(Languages.GetExistingLanguages())
// => true

8.移除語言

請實作 static 方法 Languages.RemoveLanguage(),從陣列中移除指定的語言。

Languages.RemoveLanguage(Languages.GetExistingLanguages(), "Clojure")
// => { "C#", "Elm" }

9. 檢查陣列中所有語言是否都不重複

請實作 static 方法 Languages.IsUnique(),檢查陣列中是否有任何語言重複。

呼叫這個方法時,語言陣列(也就是參數)保證不會是空的,而且陣列有沒有被修改都無所謂。

Languages.IsUnique(Languages.GetExistingLanguages())
// => true
透過 GitHub 編輯 連結會在新視窗或分頁中開啟
C# Exercism

準備好開始 清單上的清單上的清單 了嗎?

註冊 Exercism,透過 62 個概念178 個練習 和真人引導來學習並精通 C#,全部免費。