سؤال

أعمل على بعض أكواد C # التي تتعامل مع مشكلات مثل المتوسطات المتحركة ، حيث أحتاج غالبًا إلى أخذ قائمة / IEnumerable والعمل على أجزاء من البيانات المتتالية.تتميز الوحدة النمطية F # Seq بوظيفة رائعة ، وهي عبارة عن إطارات تأخذ تسلسلًا ، وترجع سلسلة من أجزاء العناصر المتتالية.

هل لدى C # وظيفة معادلة خارج الصندوق مع LINQ؟

هل كانت مفيدة؟

المحلول

يمكنك دائمًا الاتصال فقط برمز الترميز العام من C # ، ما عليك سوى الرجوع إلى رمز الترقيم العام.أسماء الدوال أيضًا مشوهة قليلاً ، لذا يمكنك استدعاء رمز الترقيم العام بدلاً من رمز الترقيم العام ، بحيث يتناسب مع اصطلاحات الأحرف الكبيرة في لغة C #

نصائح أخرى

يمكنك دائمًا تشغيل ما تريده (أو ترجمته من F # core):

Genacodicetagpre

تبدو محاولتي على هذا النحو ، فهي أبطأ بكثير من مجرد استدعاء F # مباشرة (كما اقترح جون بالمر).أعتقد أنه بسبب استخدام F # مصفوفة لم يتم التحقق منها:

Genacodicetagpre

تحتوي الإضافات التفاعلية على بعض عوامل التشغيل للمساعدة في ذلك ، مثل المخزن المؤقت و نافذة .الإضافات التفاعلية ، التي يمكن العثور عليها في الفرع التجريبي ، تضيف هذه وعددًا كبيرًا من العوامل الإضافية إلى LINQ.

إجابة جون بالمر رائعة ، وهنا مثال يعتمد على إجابته. Genacodicetagpre

قد ترغب (أو لا ترغب) في إضافة ToArray () إلى النهاية ، بدون ToArray ، لا يزال نوع الإرجاع في عالم F # (تسلسل).مع ToArray ، يعود إلى C # world (Array).

 أدخل وصف الصورة هنا

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top