English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في المقالة السابقة، تم تقديم تحليل سريع لنظام الأنواع في C# (الأنواع القيمية والمراجعية)، وسنقدم في هذا المقال معرفة نوع الجينيريك في C#.
تحدث عن الجينيريك في C#، استخدام الجينيريك بشكل متمرس يمكن أن يزيد من قابلية التكرار للكود، ويجعل كودنا يبدو أكثر روعة، بالطبع فقط قليلاً، بالفعل فقط قليلاً، لأن هناك الكثير من المعرفة التي يجب أن نتعلمها ونفهمها. دعونا نرى مثالاً آخر باستخدام Dictionary<TKey,TValue>.
static void Main(string[] args) { Dictionary<int, string> result = GetAll(); } public static Dictionary<int, string> GetAll() { var dic = new Dictionary<int, string>(); dic.Add(1, "aaa"); dic.Add(1, "aaa"); dic.Add(1, "aaa"); return dic; }
شكلان من الجينوميات: نوع الجينومية (فئة، واجهة، تفويض وساختوم) ومتغيرات الجينومية، مثل TKey وTValue هي متغيرات نوعية، والنوع الحقيقي التي يتم إيادها هي int وstring، يمكن رؤية أن متغيرات النوع هي مجرد مبدأ نوعية للنوع الحقيقي. لا تقدم نوعية نوعية الجينومية التي لم تقدم لها نوعية نوعية نوعية نوعية الجينومية غير المبنية، إذا تم تحديد نوعية التبديل، فيتم بناء نوعية الجينومية، ويمكن أن يكون نموذج النوع هو النوع الذي نستخدمه. الشكل التالي يوضح العلاقة.
التحكم في الجينوميات هو أمر يسبب الإزعاج، وسنحاول أن نشرح ذلك بشكل جيد فيما بعد، قد لا يكون واضحًا جدًا، نحاول بجهد، لأنني لم أفهم ما يقوله الكتاب أيضًا، دعنا نقول ذلك هنا أولاً. إذا لم تفهم، يمكنك الرجوع إلى الشرح في الكتاب. انظر إلى الشكل أدناه
عندما نرى مثل هذه الطريقة الجينومية، في الاستخدام الفعلي يجب تبديل نوعية المعامل (لقد قلنا أيضًا أن نوعية المعامل هي مبدأ نوعية التبديل)، باستخدام string لتبديل T، باستخدام int لتبديل TOutput
public static List<int> GetAll(Converter<string, int> conv) { }
Converter<string, int> هي نوع تم بناؤها، conv هي متغير الشكل، الآن يجب أن تعرف دور هذه الطريقة الجينومية: باستخدام نموذج Converter<string, int> الجينومي كمعامل، يعود قائمة تحتوي على الأعداد.
ما تم ذكره أعلاه هو نوع الجينومي C# الذي قدمته لك الإدارة، آمل أن يكون مفيدًا لك!