hello all,
how can i write optional parameter for a method as same as vb.net
thnaks.
hello all,
how can i write optional parameter for a method as same as vb.net
thnaks.
يجب ان تستخد overload
فتقوم بتعريف اكثر من method بنفس الاسم ولكن كل method تختلف في المتغيرات التي تاخذها
طريقة ال overload غير فعالة ... وستؤدي الى زيادة في الكود
الحل هو استخدام params
مثال 1:
public static void UseParams(params int[] list)
{
for ( int i = 0; i < list.Length; i++ )
Console.WriteLine(list);
}مثال 2:
public static void UseParams2(params object[] list)
{
for ( int i = 0; i < list.Length; i++ )
Console.WriteLine(list);
}استخدامها :
public static void Main()
{
UseParams(1, 2, 3);
UseParams2(1, 'a', "test");
int[] myarray = new int[3] {10,11,12};
UseParams(myarray);
}تم تعديل هذه المشاركة بواسطة baha_ashour في 3 أبريل 2006 في 17:28
طبعا زى ما الاخوة قالوا ولكن الحل الافضل هو أستخدام الparams modifier زى ما قال الاخ بهاء
وأيضا عند أستخدامها لازم يكون أخر parameter للدالة كما موضح
public void print(string meg , iparams int [] array)
{
.............
}يستخدم ذلك الmodifier فى حالة الOne dimension or jagged array وماينفعش مع الالل
two dimension
params int[][] array; // ture params int[] array // true params int[,] array; //Compile Error
وأيضا لا يستخدم مع الref and out modifiers
هذا الموضوع مغلق.