Avatar ·

كيفية التحقق مما إذا كانت السلسلة النصية رقمًا في C# (مشابه لـ IsNumeric)

مرحبًا أيها الزملاء! أنا مطور C# مبتدئ وواجهت مهمة نموذجية: أحتاج إلى التحقق من أن السلسلة النصية التي أدخلها المستخدم تحتوي على رقم وليس أي بيانات غير صالحة. على سبيل المثال، يقوم المستخدم بإدخال عمره في حقل نصي، وقبل حفظه في int، أريد التأكد من أنه ليس "عشرون" أو "abc123". حاولت استخدام Convert.ToInt32() داخل try-catch، لكن هذا يبدو مرهقًا وغير فعال من حيث الأداء كما أعتقد. علاوة على ذلك، أحتاج إلى التمييز بين الأعداد الصحيحة والأعداد العشرية. هل يوجد في C# دالة مدمجة مشابهة لـ IsNumeric من VB.NET أو طريقة أنيقة للقيام بذلك؟ إليك كيف أحاول حل المشكلة حاليًا:
string userInput = "123.45";
try
{
    int number = Convert.ToInt32(userInput);
    Console.WriteLine("هذا عدد صحيح");
}
catch (FormatException)
{
    // أحاول التحقق من double
    try
    {
        double doubleNumber = Convert.ToDouble(userInput);
        Console.WriteLine("هذا عد