سؤال

أنا متأكد بنسبة 90% رأيت هذا الجواب على ستاكوفيرفلوو من قبل ، في الواقع لم يسبق لي أن رأيت "int ؟" بناء الجملة قبل رؤيتها هنا ، ولكن بغض النظر عن كيف يمكنني البحث لا أستطيع العثور على الوظيفة السابقة, و هو يقود لي مجنون.

فمن الممكن أن كنت آكل مضحك الفطر عن طريق الصدفة, ولكن أنا لا يمكن للشخص يرجى الإشارة إلى الوظيفة السابقة إذا أنها يمكن أن تجد أو إعادة تفسير ذلك ؟ بلدي ستاكوفيرفلوو البحث فو هو على ما يبدو منخفضا جدا....

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

المحلول

int ؟ هو اختزال Nullable<int>.

هذا قد تكون الوظيفة التي كنت تبحث عنها.

نصائح أخرى

int ؟ هو نفس الشيء مثل Nullable.فإنه يسمح لك أن يكون "null" القيم في الباحث.

الباحث ينتمي إلى النظام.ValueType لا يمكن أن يكون باطلا بوصفه قيمة.عند التعامل مع قواعد البيانات أو أنواع أخرى حيث العناصر التي يمكن أن يكون لها قيمة فارغة ، قد يكون من المفيد التحقق من ما إذا كان العنصر هو باطل.هذا هو عندما int ؟ يأتي دور.int ؟ هو nullable type والتي يمكن أن يكون لها قيم تتراوح بين -2147483648 إلى 2147483648 و فارغة.

المرجع: https://msdn.microsoft.com/en-us/library/1t3y8s4s.aspx

الرمز ؟ بعد int يعني أنه يمكن nullable.

؟ رمز يستخدم عادة في الحالات التي يكون فيها المتغير لا يمكن أن يقبل null أو عدد صحيح أو عودة عدد صحيح أو باطل.

الأمل في سياق الاستخدام يساعد.في هذه الطريقة التي لا تقتصر على التعامل فقط مع الاعداد الصحيحه.

يمكنك استخدامه عندما كنت تتوقع قيمة فارغة في صحيح وخاصة عند استخدام الصب مثلا:

x= (int)y;

إذا y = null ثم سيكون لديك خطأ.لديك لاستخدام:

x = (int?)y;

الباحث لا يمكن أن تقبل null ولكن إذا كان المطور تستخدم int ؟ ثم يمكنك تخزين فارغة في الباحث مثل int i = null ؛ // لا تقبل int ؟ انا = null ؛ // العمل في الغالب استخدام ترقيم الصفحات في MVC Pagelist

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