نحوه استفاده از روش افزودنی «ImmutableArray.Builder» «ToFrozenDictionary» برای ایجاد دیکشنری های غیرقابل تغییر کارآمد

Summarize this content to 400 words in Persian Lang
ImmutableArray.Builder یک کلاس در دات نت است که برای ساخت آرایه های تغییرناپذیر طراحی شده است (ImmutableArray). این یک راه کارآمد برای ساخت آرایه های تغییرناپذیر بدون ایجاد مکرر نمونه های جدید ارائه می دهد. در NET 8 می توانید از ToFrozenDictionary روش توسعه برای ساختن a FrozenDictionary از یک ImmutableArray.Builder.
این ToFrozenDictionary روش فرمت می تواند برای تبدیل عناصر از an استفاده شود ImmutableArray.Builder نمونه به یک تغییرناپذیر FrozenDictionary. این روش برای دیکشنری هایی که نیاز به دسترسی مکرر به خواندن دارند بسیار کارآمد است و پس از آن اصلاح نمی شود.
استفاده
در زیر مثالی از نحوه استفاده از آن آورده شده است ToFrozenDictionary روش پسوند برای تبدیل یک ImmutableArray.Builder به یک FrozenDictionary:
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Collections.Frozen;
class Program
{
static void Main()
{
// Create an ImmutableArray Builder
var builder = ImmutableArray.CreateBuilderKeyValuePairstring, int>>();
builder.Add(new KeyValuePairstring, int>(“apple”, 1));
builder.Add(new KeyValuePairstring, int>(“banana”, 2));
builder.Add(new KeyValuePairstring, int>(“cherry”, 3));
// Use ToFrozenDictionary method to convert Builder to FrozenDictionary
FrozenDictionarystring, int> frozenDict = builder.ToFrozenDictionary();
// Access elements in FrozenDictionary
Console.WriteLine(frozenDict[“apple”]); // Output: 1
Console.WriteLine(frozenDict[“banana”]); // Output: 2
Console.WriteLine(frozenDict[“cherry”]); // Output: 3
}
}
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
توضیح مثال
ایجاد کنید ImmutableArray.Builder نمونه: یک نمونه Builder برای یک ایجاد کنید ImmutableArray و جفت های کلید و ارزش را به آن اضافه کنید.
تماس بگیرید ToFrozenDictionary روش: از ToFrozenDictionary روش پسوند برای تبدیل builder نمونه به الف FrozenDictionary. این روش محتویات را تبدیل می کند ImmutableArray به یک فرهنگ لغت تغییرناپذیر
دسترسی به FrozenDictionary: FrozenDictionary دسترسی خواندن سریع را فراهم می کند، و آن را برای سناریوهایی که شامل جستجوهای مکرر هستند مناسب می کند.
با استفاده از انتخابگر کلید سفارشی و مقایسه کننده برابری
هنگام استفاده می توانید یک انتخابگر کلید سفارشی و یک مقایسه کننده برابری را مشخص کنید ToFrozenDictionary:
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Collections.Frozen;
class Person
{
public required string Name { get; set; }
public int Age { get; set; }
}
class Program
{
static void Main()
{
var builder = ImmutableArray.CreateBuilderPerson>();
builder.Add(new Person { Name = “Alice”, Age = 30 });
builder.Add(new Person { Name = “Bob”, Age = 25 });
builder.Add(new Person { Name = “Charlie”, Age = 35 });
// Convert Builder to FrozenDictionary using custom key selector and equality comparer
FrozenDictionarystring, Person> frozenDict = builder.ToFrozenDictionary(
person => person.Name, // Key selector
person => person); // Value selector
// Access elements in FrozenDictionary
Console.WriteLine(frozenDict[“Alice”].Age); // Output: 30
Console.WriteLine(frozenDict[“Bob”].Age); // Output: 25
}
}
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
خلاصه
با استفاده از ImmutableArray.Builder و ToFrozenDictionary روش، شما می توانید به طور موثر یک فرهنگ لغت تغییرناپذیر و با دسترسی سریع ایجاد کنید، به ویژه در سناریوهایی که شامل خواندن های مکرر هستند اما بدون تغییرات بیشتر در ساختار داده مفید است.
ImmutableArray یک کلاس در دات نت است که برای ساخت آرایه های تغییرناپذیر طراحی شده است (ImmutableArray). این یک راه کارآمد برای ساخت آرایه های تغییرناپذیر بدون ایجاد مکرر نمونه های جدید ارائه می دهد. در NET 8 می توانید از ToFrozenDictionary روش توسعه برای ساختن a FrozenDictionary از یک ImmutableArray.
این ToFrozenDictionary روش فرمت می تواند برای تبدیل عناصر از an استفاده شود ImmutableArray نمونه به یک تغییرناپذیر FrozenDictionary. این روش برای دیکشنری هایی که نیاز به دسترسی مکرر به خواندن دارند بسیار کارآمد است و پس از آن اصلاح نمی شود.
استفاده
در زیر مثالی از نحوه استفاده از آن آورده شده است ToFrozenDictionary روش پسوند برای تبدیل یک ImmutableArray به یک FrozenDictionary:
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Collections.Frozen;
class Program
{
static void Main()
{
// Create an ImmutableArray Builder
var builder = ImmutableArray.CreateBuilderKeyValuePairstring, int>>();
builder.Add(new KeyValuePairstring, int>("apple", 1));
builder.Add(new KeyValuePairstring, int>("banana", 2));
builder.Add(new KeyValuePairstring, int>("cherry", 3));
// Use ToFrozenDictionary method to convert Builder to FrozenDictionary
FrozenDictionarystring, int> frozenDict = builder.ToFrozenDictionary();
// Access elements in FrozenDictionary
Console.WriteLine(frozenDict["apple"]); // Output: 1
Console.WriteLine(frozenDict["banana"]); // Output: 2
Console.WriteLine(frozenDict["cherry"]); // Output: 3
}
}
توضیح مثال
-
ایجاد کنید
ImmutableArrayنمونه: یک نمونه Builder برای یک ایجاد کنید.Builder ImmutableArrayو جفت های کلید و ارزش را به آن اضافه کنید. -
تماس بگیرید
ToFrozenDictionaryروش: ازToFrozenDictionaryروش پسوند برای تبدیلbuilderنمونه به الفFrozenDictionary. این روش محتویات را تبدیل می کندImmutableArrayبه یک فرهنگ لغت تغییرناپذیر -
دسترسی به
FrozenDictionary:FrozenDictionaryدسترسی خواندن سریع را فراهم می کند، و آن را برای سناریوهایی که شامل جستجوهای مکرر هستند مناسب می کند.
با استفاده از انتخابگر کلید سفارشی و مقایسه کننده برابری
هنگام استفاده می توانید یک انتخابگر کلید سفارشی و یک مقایسه کننده برابری را مشخص کنید ToFrozenDictionary:
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Collections.Frozen;
class Person
{
public required string Name { get; set; }
public int Age { get; set; }
}
class Program
{
static void Main()
{
var builder = ImmutableArray.CreateBuilderPerson>();
builder.Add(new Person { Name = "Alice", Age = 30 });
builder.Add(new Person { Name = "Bob", Age = 25 });
builder.Add(new Person { Name = "Charlie", Age = 35 });
// Convert Builder to FrozenDictionary using custom key selector and equality comparer
FrozenDictionarystring, Person> frozenDict = builder.ToFrozenDictionary(
person => person.Name, // Key selector
person => person); // Value selector
// Access elements in FrozenDictionary
Console.WriteLine(frozenDict["Alice"].Age); // Output: 30
Console.WriteLine(frozenDict["Bob"].Age); // Output: 25
}
}
خلاصه
با استفاده از ImmutableArray و ToFrozenDictionary روش، شما می توانید به طور موثر یک فرهنگ لغت تغییرناپذیر و با دسترسی سریع ایجاد کنید، به ویژه در سناریوهایی که شامل خواندن های مکرر هستند اما بدون تغییرات بیشتر در ساختار داده مفید است.



