.NET 9.0'da yeni [17]: Yeni Hazır Sınıf -Onlyset Miktarı

Saberie

Active member
.NET 9.0 başka bir yeni miktar sınıfı sunar: ReadOnlySet<T>. Her zamanki gibi setlerle, miktar sınıfındalar ReadOnlySet<T> Yinelenmesine izin verilmez. Farklı HashSet<T> Geliştiriciler içeriğini yapabilir ReadOnlySet<T> Değişme.








Holger Schwichtenberg, 53 ünlü uzmanla tavsiye ve eğitim yoluyla ve yazılımın geliştirilmesinde çok sayıda orta ve büyük şirketi destekleyen uzmanlar ağının teknik direktörüdür. Çok sayıda ulusal ve uluslararası uzman konferansındaki görünümleri, 90'dan fazla uzman kitabı ve 1.500'den fazla uzman makalesi sayesinde Holger Schwichtenberg, Almanya'daki .NET ve Web teknikleri için en iyi uzmanlardan biridir.







İnşası için ReadOnlySet<T> Arayüze sahip bir nesne şeklinde çok ISet<T> örneğin istenen HashSet<T>:


public void ReadOnlySet()
{
CUI.Demo();

CUI.H1("HashSet<T> erlaubt Hinzufügen/Löschen");

HashSet<string> set1 = new()
{
"www.IT-Visions.de",
"www.dotnet7.de",
"www.dotnet8.de",
"www.dotnet9.de",
"www.dotnet9.de",
"www.dotnettraining.de",
};

var r = set1.Add("www.dotnet9.de");
Console.WriteLine(r ? "URL neu" : "URL schon vorhanden");
set1.Remove("www.dotnet7.de");

foreach (var url in set1)
{
Console.WriteLine(url);
}

CUI.H1("ReadOnlySet<T> erlaubt KEINE Duplikate und kein Hinzufügen/Löschen");
ReadOnlySet<string> set2 = new(set1);
//set2[0] = "www.dotnet6.de" // nicht erlaubt!
//set2.Add("www.dotnet9.de"); // nicht erlaubt!
//set2.Remove("www.dotnet7.de"); // nicht erlaubt!
foreach (var url in set2) // 4 Elemente, da Duplikate entfernt
{
Console.WriteLine(url);
}
}








Kodun baskısı, hashsetler arasındaki farkları gösterir ve ReadonlySet


(Resim: Ekran görüntüsü (Holger Schwichtenberg))



ReadOnlySet<T> Yalnızca .NET'teki okuma miktarlarını tamamlayın. Şimdiye kadar zaten var ReadOnlyCollection<T> Tüm miktarlar için IList<T> teklif, e ReadOnlyDictionary<TKey, TValue> Tüm miktarlar için IDictionary<TKey, TValue>. ReadOnlySet<T> Elemanların yinelenmesine veya eklenmesine, değiştirilmesine veya ortadan kaldırılmasına izin vermez.


(RME)
 
Üst