[ad_1]
در .NET 9.0 انواع را ارائه دهید HashSet
وت Dictionary
یک روش جدید برای عناصر با یک ReadOnlySpan
برای جستجو این امر هنگام جستجوی رشته ها از تخصیص بسیاری از حافظه جلوگیری می کند.
دکتر هولگر شویشنبرگ مدیر فنی شبکه متخصصان www.it-vision.de است که با 53 متخصص مشهور از طریق مشاوره و آموزش و همچنین در توسعه نرم افزار از شرکت های متوسط و بزرگ و بزرگ پشتیبانی می کند. هولگر شویشنبرگ از طریق حضور وی در کنفرانس های متخصص ملی و بین المللی و همچنین بیش از 90 کتاب تخصصی و بیش از 1500 مقاله تخصصی ، یکی از بهترین متخصصان شناخته شده برای .NET و تکنیک های وب در آلمان است.
مثال: در یک مقدار از نام جدا شده توسط semicolone ، این نام برای نام ها جستجو می شود.
داده شده است
HashSet suchwoerter =
new HashSet() { "Müller", "Meier", "Schulze" };
string[] datenbasis = """
Müller;Schwichtenberg;Stropek;Krämer
Huber;Meier;Loje
Schulze;Wenz;Schmaranz
...
""".Split("\n");
اجرای قبلی قبل از .NET 9.0 می تواند به شرح زیر باشد:
foreach (string line in datenbasis)
{
foreach (string n in line.Split(';')) // String-Allokation
{
if (suchwoerter.Contains(n)) fundstellen1++;
}
}
Console.WriteLine(fundstellen1);
از زمان .NET 9.0 می توانید از روش کلمات جستجو استفاده کنید GetAlternateLookup()
یک “جستجوی” So -Called و سپس با یک ReadOnlySpan
در دم HashSet
به دنبال:
[code]HashSet[/code] suchen:
HashSet.AlternateLookup> suchwoerter2 =
suchwoerter.GetAlternateLookup>();
int fundstellen2 = 0;
foreach (string line in datenbasis)
{
ReadOnlySpan lineSpan = line.AsSpan(); // ohne Allokation
foreach (Range range in lineSpan.Split(';'))
{
ReadOnlySpan nameSpan = lineSpan[range]; // ohne Allokation
if (suchwoerter2.Contains(nameSpan)) fundstellen2++;
}
}
Console.WriteLine(fundstellen2);
(RME)
[ad_2]
لینک منبع