第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

如何在 C# 中創(chuàng)建常量哈希集

如何在 C# 中創(chuàng)建常量哈希集

C#
交互式愛情 2022-11-22 16:26:08
現(xiàn)在我有一個(gè) const 字符串?dāng)?shù)組并循環(huán)檢查值是否存在。但我想要一種更有效的方式來存儲我的價(jià)值。我知道有一個(gè)哈希集,我可以這樣使用:HashSet<string> tblNames = new HashSet<string> (); tblNames.Add("a"); tblNames.Add("b"); tblNames.Add("c");但是,是否可以像這樣使它成為我班級的常量成員:public const HashSet<string> tblNames = new HashSet<string>() { "value1", "value2" };
查看完整描述

1 回答

?
人到中年有點(diǎn)甜

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊

創(chuàng)建“常量”Set 的最佳方法可能是使用以下方法將您的接口公開HashSet為它的IEnumerable接口:

public static readonly IEnumerable<string> fruits = new HashSet<string> { "Apples", "Oranges" };
  • public: 每個(gè)人都可以訪問它。

  • static:無論創(chuàng)建了多少個(gè)父類實(shí)例,內(nèi)存中只會有一個(gè)副本。

  • readonly: 您不能將其重新分配給新值。

  • IEnumerable<>:您只能遍歷其內(nèi)容,而不能添加/刪除/修改。

要進(jìn)行搜索,您可以使用 LINQ 來調(diào)用Contains()您的IEnumerable,它足夠聰明,知道它由 a 支持HashSet并委托適當(dāng)?shù)恼{(diào)用以利用您的集合的散列特性。(嗯,好吧,它通過 ICollection 調(diào)用它,但最終還是以 HashSet 的重寫方法結(jié)束)

Debug.WriteLine(fruits.Contains("Apples")); // True

Debug.WriteLine(fruits.Contains("Berries")); // False


fruits = new HashSet<string>(); // FAIL! readonly fields can't be re-assigned

fruits.Add("Grapes"); // FAIL! IEnumerables don't have Add()


查看完整回答
反對 回復(fù) 2022-11-22
  • 1 回答
  • 0 關(guān)注
  • 103 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號