Avatar ·

لماذا تعمل try-catch على تسريع تنفيذ الكود الخاص بي في C#؟

مرحبًا بالجميع. أنا مطور C# مبتدئ وقد واجهت سلوكًا غريبًا جدًا. لدي طريقة تقوم بمعالجة مصفوفة من الأرقام. قررت اختبار الأداء باستخدام Stopwatch واكتشفت أن النسخة التي تحتوي على try-catch تعمل بشكل أسرع من تلك التي لا تحتوي عليها! إليك الكود المبسط: ```csharp // النسخة البطيئة (بدون try-catch) public static void ProcessWithoutTryCatch(int[] data) { for (int i = 0; i < data.Length; i++) { if (data[i] > 0 && data[i] < 100) { // بعض المنطق البسيط int result = data[i] * 2; } } } // النسخة السريعة (مع try-catch) public static void ProcessWithTryCatch(int[] data) { for (int i = 0; i < data.Length; i++) { try { if (data[i] > 0 && data[i] < 100) { int result = data[i] * 2; } } catch (Exception ex) { // لا نفعل شيئًا } } } ``` أقوم بتشغيل