سؤال

هل هناك أي طريقة للتحقق من سلسلة التنسيق في وقت الترجمة؟

مثال:

Console.WriteLine("{0} is a really {1} site", "stackoverflow.com", "cool");//this will run

// هذا سيعطي استثناء كما يتم توفير حجة واحدة فقط

Console.WriteLine("{0} is a really {1} site", "stackoverflow.com");

Exception:"Index (zero based) must be greater than or equal to zero and less than the size of the argument list."

وإذا كانت سلسلة التنسيق ليست في التنسيق الصحيح (أي فقدان "}" بعد 1 هنا)

Console.WriteLine("{0} is a really {1 site", "stackoverflow.com","cool");

Exception: Input string was not in a correct format.
هل كانت مفيدة؟

المحلول

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

  1. وحدة تماما اختبار واجهاتك العامة لتكون واثقا من أن سلاسلك يتم تنسيقها بشكل صحيح.
  2. استخدام أدوات مثل إعادة عرض يمكن أن يؤدي ذلك إلى تحليل ثابت ونعلمك بهذه المشكلات قبل تشغيل التطبيق الخاص بك.
  3. الأمور أفضل ثلاثية.

نصائح أخرى

لا، لا توجد طريقة للقيام بذلك. اختبار الوحدة يحل هذه المشكلة.

بينما لا تحقق حقا وقت التحقق، إعادة عرض يمكن أن يحذرك في ستوديو Visual Studio عندما يكون عدد الوسائط خطأ أو سلسلة التنسيق بتنسيق خاطئ.

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