X

جدید در .NET 9.0 [21]: به دنبال زنجیرهای قابل توجه و بدون تخصیص ذخیره سازی باشید

[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]

لینک منبع

Categories: اخبار
تیوبر: لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است. چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی مورد نیاز و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد.