練習 - 具有選擇性參數的方法
C Sharp 語言允許使用具名和選擇性參數。 這些類型的參數可讓您選取要提供給方法的自變數,因此您不限於方法簽章中定義的結構。
具名自變數可讓您使用參數的名稱而非位置來指定參數的值。 選擇性參數可讓您在呼叫 方法時省略這些自變數。
在此練習中,您將瞭解如何同時使用具名和選擇性參數。
在這項任務中,您將建立一個簡短的應用程式,讓來賓確認出席活動。 來賓將提供其派對規模和任何過敏症的資訊。 您也會新增選項,將 RSVP 限制為僅限邀請的來賓清單。
在 中,刪除先前練習中任何現有的程式碼。
在 Visual Studio Code 編輯器中輸入下列程式碼:
在此程式代碼中,您會建立變數來儲存來賓清單和 rsvps。方法會將來賓資訊附加至清單中,而方法會使用索引標籤逸出序列來分隔來賓資訊,以顯示全部的 RSVP。
在方法中輸入下列程式代碼以搜尋來賓清單:
在此程式代碼中,您會檢查指定的名稱是否等於來賓清單上的任何名稱。 如果找到相符項目,您就會將設為 true 並跳出迴圈。 如果為 false,您就會顯示訊息,並使用關鍵詞來終止 方法。
在方法簽章上方新增下列程序代碼,以呼叫您的 方法:
儲存並執行程式代碼以觀察下列輸出:
呼叫接受許多參數的方法時,瞭解自變數所代表的內容可能很棘手。 使用具名自變數可以改善程序代碼的可讀性。 藉由指定參數名稱且後面接著引數值,來使用具名引數。 在這項任務中,您將練習使用具名參數。
找出下列程式代碼列:
將方法呼叫更新為如下:
請注意,您會提供參數的名稱,後面接著冒號和值。 此語法會定義具名自變數。 不需要命名所有自變數。 例如,下列語法也是有效的:
具名自變數搭配位置自變數使用時,如果它們用於正確的位置,則有效。 只要命名引數後面沒有任何位置引數,命名引數仍然有效。 例如,在結尾包含和會無效:
如果您輸入此程式碼,將會收到下列錯誤:
找出下列程式代碼列:
將方法呼叫更新為如下:
請注意,具名參數不必以原始順序出現。 不過,未命名的自變數是位置自變數,而且必須出現在相符的位置。
儲存並執行程式代碼以觀察下列輸出:
請注意,使用具名自變數並不會變更輸出。
當參數指派預設值時,參數會變成選擇性。 如果自變數中省略選擇性參數,則方法執行時會使用預設值。 在此步驟中,您會將 參數 設為 和選擇性。
若要定義選擇性參數,請更新方法簽章,如下所示:
請花點時間觀察語法。 參數仍以逗號分隔,但參數 、 和會分別指派給值。
接下來,您將更新對的呼叫,以便應用可選參數。
將程式碼更新成下列內容:
請注意,在每個方法呼叫中,名稱永遠不會省略。 呼叫方法時,必須一律包含所有必要的自變數。 不過,可以省略任何可選參數。
在此程式代碼中,您已從 Rebecca 的 rsvp 中移除自變數。 由於這些自變數符合預設值,因此 Rebecca 的 rsvp 結果相同。
您已從 Nadia 的 rsvp 中移除自變數。 因為的預設值是 ,所以 Nadia 的 rsvp 結果相同。
您已從 Tony 的 rsvp 中移除自變數。 如果 Tony 有邀請,則會在 RSVP 中使用 預設值。
您已從 Linh 和 Noor 的 RSVP 中移除引數。 他們的 RSVP 會顯示 "過敏症" 的預設值 。
儲存並執行程式代碼以觀察下列輸出:
請注意,預設值會用來取代省略的自變數,例如和 。
以下是目前為止您對選擇性引數和具名引數已經有所了解的內容:
透過在方法簽章中指定預設值,可令參數成為選擇性。
具名自變數是以參數名稱指定,後面接著冒號和自變數值。
結合具名自變數和位置自變數時,您必須使用正確的參數順序。
页:
[1]