البرمجة

تحقق من صحة المعلمات الرقمية في C#

عندما يتعلق الأمر بالتحقق من ما إذا كانت قيم المعلمات التي يتم تمريرها إلى تطبيقك قابلة للتحويل إلى أرقام أو لا، يمكنك استخدام عدة طرق في لغة C#. لا يوجد وسيلة مباشرة للتحقق من ذلك دون استثناءات، ولكن يمكنك استخدام وظائف مثل int.TryParse() للتحقق من صحة التحويل دون أن تُثير استثناءات.

أولاً، تحتاج إلى التحقق من عدد الوسائط الممررة إلى تطبيقك، حيث أنك تتطلع لمعرفة ما إذا كان هناك وسيطان على الأقل يجب أن يتم تمريرهما. يمكنك فعل ذلك ببساطة عن طريق فحص args.Length، حيث يجب أن يكون الحد الأدنى لعدد الوسائط الممررة هو 2.

بعد ذلك، يجب عليك التحقق من كل وسيط بشكل فردي للتأكد من صحته. يمكنك استخدام int.TryParse() لذلك. هذه الوظيفة تحاول تحويل السلسلة إلى عدد صحيح، وإذا نجحت، فإنها ترجع true وتضع القيمة المحولة في المتغير الممرر باستخدام out. إذا فشلت، فإنها ترجع false ولا تقوم بتعديل المتغير. وهذا يتيح لك التحقق من صحة التحويل دون رفع استثناءات.

اليك مثال عملي:

csharp
using System; class Program { static void Main(string[] args) { if (args.Length < 2) { Console.WriteLine("يجب تمرير معاملين على الأقل."); return; } if (!int.TryParse(args[0], out int firstNumber) || !int.TryParse(args[1], out int secondNumber)) { Console.WriteLine("يجب تمرير معاملات قابلة للتحويل إلى أرقام صحيحة."); return; } // يمكنك استخدام firstNumber و secondNumber في عمليات الحساب هنا بأمان Console.WriteLine("الأعداد المدخلة صحيحة: {0}, {1}", firstNumber, secondNumber); } }

هذا الكود يتحقق من وجود معاملين على الأقل، ثم يحاول تحويلهما إلى أرقام صحيحة باستخدام int.TryParse()، وإذا نجح ذلك، فإنه يمكنك استخدام الأرقام المحولة بأمان في العمليات الحسابية المتبعة.

المزيد من المعلومات

بالطبع، يمكننا استكمال المناقشة حول كيفية التحقق من صحة المعلمات الرقمية في تطبيقك بلغة C#.

بمجرد أن تتحقق من أن الوسائط الممررة إلى تطبيقك تحتوي على العدد الصحيح المطلوب، يمكنك أيضًا التحقق من النطاق الصحيح للأرقام. على سبيل المثال، قد تحتاج إلى التحقق من أن الأرقام الممررة تقع ضمن نطاق معين، مثل قيمة موجبة أو سالبة.

للتحقق من النطاق الصحيح، يمكنك استخدام بيانات تعريفية (Attributes) للوسائط في البيانات الواردة في الدالة Main. على سبيل المثال، يمكنك استخدام RangeAttribute للتحقق من النطاق:

csharp
using System; using System.ComponentModel.DataAnnotations; class Program { static void Main(string[] args) { if (args.Length < 2) { Console.WriteLine("يجب تمرير معاملين على الأقل."); return; } if (!int.TryParse(args[0], out int firstNumber) || !int.TryParse(args[1], out int secondNumber)) { Console.WriteLine("يجب تمرير معاملات قابلة للتحويل إلى أرقام صحيحة."); return; } if (!IsValidNumber(firstNumber) || !IsValidNumber(secondNumber)) { Console.WriteLine("الأعداد الممررة يجب أن تكون في نطاق معين."); return; } // يمكنك استخدام firstNumber و secondNumber في عمليات الحساب هنا بأمان Console.WriteLine("الأعداد المدخلة صحيحة: {0}, {1}", firstNumber, secondNumber); } static bool IsValidNumber(int number) { return number >= 0 && number <= 100; // يمكن تغيير النطاق كما تحتاج } }

في هذا المثال، تم استخدام RangeAttribute للتحقق من أن الأرقام الممررة تقع ضمن النطاق المحدد (في هذه الحالة، من 0 إلى 100). لاحظ أنه يمكنك تعديل النطاق حسب احتياجات تطبيقك.

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

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر