سلام درود خدمت همراهان همیشگی سایت پی وی لرن . با آموزش زبان برنامه نویسی #F همراهتون هستیم. در این قسمت از آموزش زبان اف شارپ به Mutable Dictionary در #F و کلاس (Dictionary(TKey, TValue در #F و … می پردازیم.
کلاس <Dictionary<‘TKey, ‘TValue یک آنالوگ قابل تغییر از ساختار داده map در # F می باشد و شامل بسیاری از توابع مشابه است.
Map یک نوع خاص از کالکشن است که مقادیر را با key مرتبط می کند. (خلاصه ای از فصل مپ در #F)
Mutable Dictionary در #F با استفاده از کلید واژه جدید ایجاد شده و با نام constructor لیست فرا خوانی می شوند. مثال زیر این را نشان می دهد.
1 2 3 4 5 6 7 | open System.Collections.Generic let dict = new Dictionary<string, string>() dict.Add("1501", "Zara Ali") dict.Add("1502","Rishita Gupta") dict.Add("1503","Robin Sahoo") dict.Add("1504","Gillian Megan") printfn "Dictionary - students: %A" dict |
هنگامی که شما برنامه را کامپایل و اجرا می کنید، خروجی زیر را تولید می کند.
1 2 3 | Dictionary - students: seq [[1501, Zara Ali]; [1502, Rishita Gupta]; [1503, Robin Sahoo]; [1504, Gillian Megan]] |
کلاس (Dictionary(TKey, TValue مجموعه ای از کلید ها و مقادیر را نشان می دهد.
جداول زیر، خواص، سازندگان و متدهای کلاس (List(T را ارائه می دهند.
ویژگی | توضیحات |
---|---|
Comparer | (IEqualityComparer (T را می گیرد، برای تعیین برابری keys برای dictionary استفاده می شود. |
Count | تعداد جفت key/value موجود در دیکشنری را می گیرد. (TKey، TValue). |
Item | مقدار مربوط به key مشخص شده را می گیرد یا ست می کند. |
Keys | یک مجموعه حاوی key های موجود در ابتدا یک نمونه جدید از کلاس لغت (TKey، TValue) که خالی است، دارای ظرفیت پیش فرض اولیه است و از مقادیر پیش فرض برابری برای نوع کلید استفاده می کند. را دریافت می کند. |
Values | مجموعه ای از مقادیر موجود در (Dictionary(TKey, TValue را می گیرد. |
Constructors | توضیحات |
---|---|
()(Dictionary(TKey, TValue | ابتدا یک نمونه جدید از کلاس (Dictionary(TKey, TValue که خالی است و دارای ظرفیت پیش فرض اولیه است مقدار دهی اولیه می شود و از مقایسه برابری پیش فرض برای نوع key استفاده می کند. |
((Dictionary(TKey, TValue)(IDictionary(TKey, TValue | یک نمونه جدید از کلاس (Dictionary(TKey, TValue که عناصر کپی شده از ( IDictionary(TKey, TValue مشخص شده است، مقدار دهی می شود و از equality comparer پیش فرض برابری برای نوع key استفاده می کند. |
((Dictionary(TKey, TValue)(IEqualityComparer(TKey | یک نمونه جدید از کلاس (Dictionary(TKey, TValue را که شامل عناصر کپی شده از IDictionary(TKey, TValue) مشخص شده است مقدار دهی می شود و از equality comparer پیش فرض برای نوع key استفاده می کند. |
(Dictionary(TKey, TValue)(Int32 | یک نمونه جدید از کلاس (Dictionary(TKey, TValue که خالی است، ظرفیت اولیه مشخص شده دارد مقدار دهی می شود و از equality comparer پیش فرض برای نوع key استفاده می کند. |
((Dictionary(TKey, TValue)(IDictionary(TKey, TValue), IEqualityComparer(TKey | یک نمونه جدید از کلاس (Dictionary(TKey, TValue که شامل عناصر کپی شده از (IDictionary(TKey, TValue مشخص شده است، مقدار دهی می شود و از (IEqualityComparer(T مشخص شده استفاده می کند. |
((Dictionary(TKey, TValue)(Int32, IEqualityComparer(TKey | یک نمونه جدید از کلاس (Dictionary(TKey, TValue که خالی است، ظرفیت اولیه مشخص شده را دارد، مقدار دهی می شود و از (IEQualComparer (T مشخص شده استفاده می کند. |
(Dictionary(TKey, TValue)(SerializationInfo, StreamingContext | یک نمونه جدید از کلاس (ictionary (TKey، TValue را با داده های سریالی آغاز می کند. |
متدها | توضیحات |
---|---|
Add | کلید و مقدار مشخص شده را به Dictionary اضافه می کند. |
Clear | تمام کلید ها و مقادیر را از (Dictionary(TKey, TValue حذف می کند. |
ContainsKey | تعیین می کند که آیا دیکشنری (TKey، TValue) حاوی کلید مشخص شده است. |
ContainsValue | تعیین می کند که آیا دیکشنری (TKey، TValue) دارای یک مقدار خاص است. |
Equals(Object) | تعیین اینکه آیا آبجکت مشخص شده برابر با آبجکت فعلی است یا خیر. (توزیع شده از Object.) |
Finalize | به یک آبجکت اجازه می دهد که منابع را آزاد کند و انجام دهد عملیات cleanup دیگر را قبل از آن که توسط کالکشن garbage بازیابی شود. (توزیع شده از Object.) |
GetEnumerator | شمارنده را بازمی گرداند که از طریق دیکشنری (TKey، TValue) تکرار می شود. |
GetHashCode | به عنوان پیش فرض تابع hash عمل می کند. (توزیع شده از Object.) |
GetObjectData | رابط کاربری System.Runtime.Serialization.ISerializable را اجرا می کند و اطلاعات مورد نیاز برای سریالی سازی دیکشنری (TKey، TValue) را باز می کند. |
GetType | نوع نمونه فعلی را می گیرد. (توزیع شده از Object.) |
MemberwiseClone | یک کپی shallow از شی فعلی را ایجاد می کند. (توزیع شده از Object.) |
OnDeserialization | رابط کاربری System.Runtime.Serialization.ISerializable را اجرا می کند و هنگامی که deserialization کامل می شود رویداد deserialization را افزایش می دهد. |
Remove | مقدار را با Key مشخص شده از (Dictionary(TKey, TValue حذف می کند. |
ToString | ToString یک رشته را نشان می دهد که نشان دهنده آبجکت فعلی است. (توزیع شده از Object.) |
TryGetValue | TryGetValue مقدار مربوط به کلید مشخص شده را می گیرد. |
1 2 3 4 5 6 7 8 9 10 11 12 | open System.Collections.Generic let dict = new Dictionary<string, string>() dict.Add("1501", "Zara Ali") dict.Add("1502","Rishita Gupta") dict.Add("1503","Robin Sahoo") dict.Add("1504","Gillian Megan") printfn "Dictionary - students: %A" dict printfn "Total Number of Students: %d" dict.Count printfn "The keys: %A" dict.Keys printf"The Values: %A" dict.Values |
هنگامی که شما برنامه را کامپایل و اجرا می کنید، خروجی زیر را تولید می کند.
1 2 3 4 5 6 | Dictionary - students: seq [[1501, Zara Ali]; [1502, Rishita Gupta]; [1503, Robin Sahoo]; [1504, Gillian Megan]] Total Number of Students: 4 The keys: seq ["1501"; "1502"; "1503"; "1504"] The Values: seq ["Zara Ali"; "Rishita Gupta"; "Robin Sahoo"; "Gillian Megan"] |
در این قسمت از آموزش زبان اف شارپ به Mutable Dictionary در #F و کلاس (Dictionary(TKey, TValue در #F و … پرداختیم.