.NET 8.0'da zaten tanıtılan sınıf System.Buffers.SearchValues Şimdi yöntem var Create() Sadece bireysel karakterleri aramakla kalmayıp, aynı zamanda farklı bir dizedeki tüm dizeleri de aşırı yük:
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.
// In .NET 8.0 möglich
SearchValues<char> digits = SearchValues.Create("0123456789");
string text1 = "Hinweis: Der Buchstabe A hat in der ASCII-Tabelle den Wert 97.";
var positionDerErstenZiffer = text1.AsSpan().IndexOfAny(digits);
Console.WriteLine(positionDerErstenZiffer); // 59
// Ab .NET 9.0 möglich
SearchValues<string> artikel =
SearchValues.Create(["der", "die", "das"], StringComparison.OrdinalIgnoreCase);
string text2 = "Hinweis: Der Buchstabe A hat in der ASCII-Tabelle den Wert 97.";
var positionDesErstenArtikels = text2.AsSpan().IndexOfAny(artikel);
Console.WriteLine(positionDesErstenArtikels); // 9
Öğeleri esnek bir şekilde kaldırın
. PriorityQueue-NET 6.0'da zaten tanıtılan Classe, şimdi bir tane var Remove()-Dönüş olmasa bile elemanları çıkarmak için kullanılabilecek metod. Remove() Bir parametre olarak, kaldırılacak öğe genişletildi.
Remove() Üç değer sağlayın: bir dönüş değeri olarak, öğenin mevcut olup olmadığını ve kaldırılamayacağını gösteren bir boolean değer. İkinci ve üçüncü yöntemde parametreler out Kaldırılan eleman ve önceliği.
Aşağıdaki kod, yöntemin kullanımını göstermektedir Remove sınıfta PriorityQueue:
public void PriorityQueueRemove()
{
CUI.Demo();
CUI.H2("PriorityQueue erstellen");
var q = new PriorityQueue<string, int>();
q.Enqueue("www.dotnet-doktor.de", 20);
q.Enqueue("www.dotnet7.de", 2);
q.Enqueue("www.IT-Visions.de", 10);
q.Enqueue("www.dotnet-lexikon.de", 30);
q.Enqueue("www.dotnet8.de", 3);
q.Enqueue("www.dotnet9.de", 1);
Console.WriteLine($"Elemente in der PriorityQueue: {q.Count}"); // 0
CUI.H2("Entferne vorhandenes Element aus der PriorityQueue mit Remove()");
bool b1 = q.Remove("www.dotnet7.de", out string e1, out int priority1); // .NET 7.0 raus, da Out of Support!!!
if (b1) Console.WriteLine($"Element {e1} mit Priorität {priority1} wurde entfernt!");
else Console.WriteLine("Element nicht gefunden");
Console.WriteLine($"Elemente in der PriorityQueue: {q.Count}"); // 0
CUI.H2("Versuch, nicht vorhandenes Element aus der PriorityQueue zu entfernen mit Remove()");
bool b2 = q.Remove("www.dotnet7.de", out string e2, out int priority2);
if (b2) Console.WriteLine($"Element {e2} mit Priorität {priority2} wurde entfernt!");
else Console.WriteLine("Element nicht gefunden");
CUI.H2($"Alle Elemente {q.Count} aus der Warteschlange holen mit Dequeue()"); // 5
var count = q.Count;
for (int i = 0; i < count; i++)
{
var current = q.Dequeue();
Console.WriteLine(i + ": " + current);
}
Console.WriteLine($"Verbliebene Elemente in der PriorityQueue: {q.Count}"); // 0
}
Ekran görüntüsü, kod örneğinin sürümünü gösterir.
(Resim: Ekran görüntüsü (Holger Schwichtenberg))
(Resim: Coffeemill/123rf.com)
Sonraki LTS çıktısı devam ediyor: BetTecode Online Konferansı () .NET 10.0 18 Kasım 2025'te IX ve DPAT.VERLAG tarafından düzenlenen IT-visions.de.De en önemli yenilikleri tespit etti. Bunlar.
Çevrimiçi mağazada indirimli kör kuş biletleri zaten mevcut olana kadar program henüz yayınlanmadı. Bir önceki yılın programı arşivde görüntülenebilir.
(RME)

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.
// In .NET 8.0 möglich
SearchValues<char> digits = SearchValues.Create("0123456789");
string text1 = "Hinweis: Der Buchstabe A hat in der ASCII-Tabelle den Wert 97.";
var positionDerErstenZiffer = text1.AsSpan().IndexOfAny(digits);
Console.WriteLine(positionDerErstenZiffer); // 59
// Ab .NET 9.0 möglich
SearchValues<string> artikel =
SearchValues.Create(["der", "die", "das"], StringComparison.OrdinalIgnoreCase);
string text2 = "Hinweis: Der Buchstabe A hat in der ASCII-Tabelle den Wert 97.";
var positionDesErstenArtikels = text2.AsSpan().IndexOfAny(artikel);
Console.WriteLine(positionDesErstenArtikels); // 9
Öğeleri esnek bir şekilde kaldırın
. PriorityQueue-NET 6.0'da zaten tanıtılan Classe, şimdi bir tane var Remove()-Dönüş olmasa bile elemanları çıkarmak için kullanılabilecek metod. Remove() Bir parametre olarak, kaldırılacak öğe genişletildi.
Remove() Üç değer sağlayın: bir dönüş değeri olarak, öğenin mevcut olup olmadığını ve kaldırılamayacağını gösteren bir boolean değer. İkinci ve üçüncü yöntemde parametreler out Kaldırılan eleman ve önceliği.
Aşağıdaki kod, yöntemin kullanımını göstermektedir Remove sınıfta PriorityQueue:
public void PriorityQueueRemove()
{
CUI.Demo();
CUI.H2("PriorityQueue erstellen");
var q = new PriorityQueue<string, int>();
q.Enqueue("www.dotnet-doktor.de", 20);
q.Enqueue("www.dotnet7.de", 2);
q.Enqueue("www.IT-Visions.de", 10);
q.Enqueue("www.dotnet-lexikon.de", 30);
q.Enqueue("www.dotnet8.de", 3);
q.Enqueue("www.dotnet9.de", 1);
Console.WriteLine($"Elemente in der PriorityQueue: {q.Count}"); // 0
CUI.H2("Entferne vorhandenes Element aus der PriorityQueue mit Remove()");
bool b1 = q.Remove("www.dotnet7.de", out string e1, out int priority1); // .NET 7.0 raus, da Out of Support!!!
if (b1) Console.WriteLine($"Element {e1} mit Priorität {priority1} wurde entfernt!");
else Console.WriteLine("Element nicht gefunden");
Console.WriteLine($"Elemente in der PriorityQueue: {q.Count}"); // 0
CUI.H2("Versuch, nicht vorhandenes Element aus der PriorityQueue zu entfernen mit Remove()");
bool b2 = q.Remove("www.dotnet7.de", out string e2, out int priority2);
if (b2) Console.WriteLine($"Element {e2} mit Priorität {priority2} wurde entfernt!");
else Console.WriteLine("Element nicht gefunden");
CUI.H2($"Alle Elemente {q.Count} aus der Warteschlange holen mit Dequeue()"); // 5
var count = q.Count;
for (int i = 0; i < count; i++)
{
var current = q.Dequeue();
Console.WriteLine(i + ": " + current);
}
Console.WriteLine($"Verbliebene Elemente in der PriorityQueue: {q.Count}"); // 0
}

Ekran görüntüsü, kod örneğinin sürümünü gösterir.
(Resim: Ekran görüntüsü (Holger Schwichtenberg))

(Resim: Coffeemill/123rf.com)
Sonraki LTS çıktısı devam ediyor: BetTecode Online Konferansı () .NET 10.0 18 Kasım 2025'te IX ve DPAT.VERLAG tarafından düzenlenen IT-visions.de.De en önemli yenilikleri tespit etti. Bunlar.
Çevrimiçi mağazada indirimli kör kuş biletleri zaten mevcut olana kadar program henüz yayınlanmadı. Bir önceki yılın programı arşivde görüntülenebilir.
(RME)