找回密码
 立即注册
搜索
查看: 23|回复: 0

練習 - 具有選擇性參數的方法

[复制链接]

8万

主题

-651

回帖

26万

积分

论坛元老

积分
261546
发表于 2025-10-31 03:09:00 | 显示全部楼层 |阅读模式

                               
C Sharp 語言允許使用具名和選擇性參數。 這些類型的參數可讓您選取要提供給方法的自變數,因此您不限於方法簽章中定義的結構。


具名自變數可讓您使用參數的名稱而非位置來指定參數的值。 選擇性參數可讓您在呼叫 方法時省略這些自變數。


在此練習中,您將瞭解如何同時使用具名和選擇性參數。



在這項任務中,您將建立一個簡短的應用程式,讓來賓確認出席活動。 來賓將提供其派對規模和任何過敏症的資訊。 您也會新增選項,將 RSVP 限制為僅限邀請的來賓清單。



在 [Visual Studio Code 編輯器] 中,刪除先前練習中任何現有的程式碼。



在 Visual Studio Code 編輯器中輸入下列程式碼:




在此程式代碼中,您會建立變數來儲存來賓清單和 rsvps。  方法會將來賓資訊附加至清單中,而  方法會使用索引標籤逸出序列來分隔來賓資訊,以顯示全部的 RSVP。



在  方法中輸入下列程式代碼以搜尋來賓清單:




在此程式代碼中,您會檢查指定的名稱是否等於來賓清單上的任何名稱。 如果找到相符項目,您就會將  設為 true 並跳出  迴圈。 如果  為 false,您就會顯示訊息,並使用  關鍵詞來終止 方法。



在方法簽章上方  新增下列程序代碼,以呼叫您的 方法:





儲存並執行程式代碼以觀察下列輸出:







呼叫接受許多參數的方法時,瞭解自變數所代表的內容可能很棘手。 使用具名自變數可以改善程序代碼的可讀性。 藉由指定參數名稱且後面接著引數值,來使用具名引數。 在這項任務中,您將練習使用具名參數。



找出下列程式代碼列:



將方法呼叫更新為如下:




請注意,您會提供參數的名稱,後面接著冒號和值。 此語法會定義具名自變數。 不需要命名所有自變數。 例如,下列語法也是有效的:






具名自變數搭配位置自變數使用時,如果它們用於正確的位置,則有效。 只要命名引數後面沒有任何位置引數,命名引數仍然有效。 例如,在結尾包含  和  會無效:





如果您輸入此程式碼,將會收到下列錯誤:



找出下列程式代碼列:



將方法呼叫更新為如下:




請注意,具名參數不必以原始順序出現。 不過,未命名的自變數是位置自變數  ,而且必須出現在相符的位置。



儲存並執行程式代碼以觀察下列輸出:




請注意,使用具名自變數並不會變更輸出。





當參數指派預設值時,參數會變成選擇性。 如果自變數中省略選擇性參數,則方法執行時會使用預設值。 在此步驟中,您會將 參數 設為 和  選擇性。



若要定義選擇性參數,請更新  方法簽章,如下所示:




請花點時間觀察語法。 參數仍以逗號分隔,但參數 、 和  會分別指派給值。


接下來,您將更新對  的呼叫,以便應用可選參數。



將程式碼更新成下列內容:




請注意,在每個方法呼叫中,名稱永遠不會省略。 呼叫方法時,必須一律包含所有必要的自變數。 不過,可以省略任何可選參數。


在此程式代碼中,您已從 Rebecca 的 rsvp 中移除自變數  。 由於這些自變數符合預設值,因此 Rebecca 的 rsvp 結果相同。


您已從 Nadia 的 rsvp 中移除  自變數。 因為的預設值  是 ,所以 Nadia 的 rsvp 結果相同。


您已從 Tony 的 rsvp 中移除  自變數。 如果 Tony 有邀請,則會在 RSVP 中使用 預設值  。


您已從 Linh 和 Noor 的 RSVP 中移除  引數。 他們的 RSVP 會顯示 "過敏症" 的預設值 。



儲存並執行程式代碼以觀察下列輸出:




請注意,預設值會用來取代省略的自變數,例如  和 。





以下是目前為止您對選擇性引數和具名引數已經有所了解的內容:


透過在方法簽章中指定預設值,可令參數成為選擇性。
具名自變數是以參數名稱指定,後面接著冒號和自變數值。
結合具名自變數和位置自變數時,您必須使用正確的參數順序。


               
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|usdt交易

GMT+8, 2025-12-1 01:32 , Processed in 0.116579 second(s), 20 queries .

Powered by usdt cosino! X3.5

© 2001-2025 Bitcoin Casino

快速回复 返回顶部 返回列表