سؤال

تكرار السؤال

تمرير null الحجج C# طرق

يمكنني أن أفعل هذا في c# for .Net 2.0?

public void myMethod(string astring, int? anint)
{
//some code in which I may have an int to work with
//or I may not...
}

إن لم يكن هناك شيء مماثل يمكنني فعله ؟

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

المحلول

نعم ، على افتراض إضافة الاقتباس عمدا و كنت حقا تعني:

public void myMethod(string astring, int? anint)

anint الآن HasValue مكان الإقامة.

نصائح أخرى

يعتمد على ما تريد تحقيقه.إذا كنت تريد أن تكون قادرة على إسقاط anint المعلمة لديك لإنشاء الزائد:

public void myMethod(string astring, int anint)
{
}

public void myMethod(string astring)
{
    myMethod(astring, 0); // or some other default value for anint
}

يمكنك القيام به الآن:

myMethod("boo"); // equivalent to myMethod("boo", 0);
myMethod("boo", 12);

إذا كنت ترغب في تمرير nullable int, حسنا, انظر الأجوبة الأخرى.;)

في C# 2.0 يمكنك القيام به ؛

public void myMethod(string astring, int? anint)
{
   //some code in which I may have an int to work with
   //or I may not...
}

و استدعاء الأسلوب مثل

 myMethod("Hello", 3);
 myMethod("Hello", null);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top