جدید در .NET 9.0 [18]: افزودنیها برای مقادیر جستجو و صف اولویت

[ad_1]

کلاس قبلاً در .NET 8.0 معرفی شده است System.Buffers.SearchValues اکنون این روش را دارد Create() اضافه بار دیگر به منظور جستجوی شخصیت های جداگانه ، بلکه کل رشته ها در یک رشته متفاوت:




دکتر هولگر شویشنبرگ مدیر فنی شبکه متخصصان www.it-vision.de است که با 53 متخصص مشهور از طریق مشاوره و آموزش و همچنین در توسعه نرم افزار از شرکت های متوسط ​​و بزرگ و بزرگ پشتیبانی می کند. هولگر شویشنبرگ از طریق حضور وی در کنفرانس های متخصص ملی و بین المللی و همچنین بیش از 90 کتاب تخصصی و بیش از 1500 مقاله تخصصی ، یکی از بهترین متخصصان شناخته شده برای .NET و تکنیک های وب در آلمان است.

// In .NET 8.0 möglich
SearchValues 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 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

مردن PriorityQueue-کلاس ، که قبلاً در .NET 6.0 معرفی شده است ، اکنون یک مورد دارد Remove()-Method که می تواند برای از بین بردن عناصر استفاده شود ، حتی اگر نوبت آنها نباشد. Remove() به عنوان یک پارامتر ، عنصر را حذف کرد تا حذف شود.

Remove() سه مقدار را ارائه دهید: به عنوان یک مقدار بازگشت ، یک مقدار بولی که نشان می دهد این عنصر موجود بوده است یا خیر. در پارامترهای روش دوم و سوم از طریق out عنصر حذف شده و اولویت آن.

کد زیر استفاده از روش را نشان می دهد Remove در کلاس PriorityQueue:

public void PriorityQueueRemove()
{
 CUI.Demo();
 
 CUI.H2("PriorityQueue erstellen");
 var q = new PriorityQueue();
 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 



تصویر نسخه مثال کد را نشان می دهد.

(BILD: تصویر (هولگر شویشنبرگ))


کنفرانس آنلاین بهتر کد () 10.0 در 18 نوامبر 2025

کنفرانس آنلاین بهتر کد () 10.0 در 18 نوامبر 2025

(BILD: COFFEEMILL/123RF.com)

نسخه بعدی LTS در انتظار است: کنفرانس آنلاین بهتر کد () .NET 10.0 در 18 نوامبر 2025 توسط IX و DPAT.Verlag با همکاری IT-Visions.de مهمترین نوآوری ها را سازمان می دهد. این موارد شامل به روزرسانی های موجود در .NET 10.0 SDK و در C# 14.0 ، ASP.NET CORE 10.0 ، Blazor 10.0 ، Windows Forms 10.0 ، WPF 10.0 ، Winui 3 ، .NET MAUI 10.0 و ادغام هوش مصنوعی در برنامه های .net است.

این برنامه هنوز منتشر نشده است-تا زمانی که بلیط های پرنده کور تخفیف در حال حاضر در فروشگاه آنلاین موجود است. برنامه سال گذشته را می توان در بایگانی مشاهده کرد.


(RME)

[ad_2]

لینک منبع

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *