مشخصات مقاله
-
2553
-
0.0
-
4556
-
0
-
0
پارامتر enum در سی شارپ
همانند هر گونه داده ای دیگری ممکن است بخواهیم تابع یا متدی بنویسیم که پارامتر ورودی از نوع enum داشته باشد. همانطور که انتظار دارید هیچ تفاوتی بین این گونه داده ای با سایر انواع دیگر در این مورد وجود ندارد.
همان طور که پیش تر ذکر شد، پس از این که enumeration ایجاد می شود، دیگر یک نوع تلقی می گردد. می توان آن را به عنوان آرگومان ارسال کرد یا آن را از یک متد بازگرداند. Enumeration به همان شکلی که یک نوع داده ی معمولی فرستاده می شود، باید به عنوان آرگومان ارسال گردد.
مثال:
public class Exercise
{
private static void ShowHouse(HouseType propType)
{
}
}
به همین ترتیب، می توان هر تعداد نوع شمارشی که لازم است ارسال کرد. می توان enumeration را در بدنه ی رویه (procedure) به کاربرد و مورد استفاده قرار داد یا آن را نادیده گرفت. هنگام فراخوانی رویه، آرگومانی را ارسال کنید که نوع مقدارش از نوع شمارشی باشد.
مثال:
using System;
public enum HouseType
{
Unknown = 2,
SingleFamily = 4,
TownHouse = 6,
Condominium = 8,
}
public class Exercise
{
private static void ShowHouse(HouseType propType)
{
Console.WriteLine("Type of house: {0}", propType);
}
public static int Main()
{
HouseType ht;
ht = HouseType.SingleFamily;
ShowHouse(ht);
Console.ReadKey();
return 0;
}
}
نتیجه
Type of house: SingleFamily Press any key to continue...
ارسال آرگومان می تواند اختیاری باشد. هنگام ایجاد متد، برای این که نشان دهیم آرگومان مقدار پیش فرض دارد و عضو دلخواه را به آن اختصاص دهیم از عملگر جایگزین " = " استفاده می کنیم. هنگام فراخوانی متد، می توان مقدار برای آرگومان گفته شده ارسال کرد یا از ارسال آن صرف نظر کرد.
مثال:
using System;
public enum HouseType
{
Unknown = 2,
SingleFamily = 4,
TownHouse = 6,
Condominium = 8,
}
public class Exercise
{
private static void ShowHouse(HouseType propType = HouseType.Unknown)
{
Console.WriteLine("Type of house: {0}", propType);
}
public static int Main()
{
HouseType ht;
ht = HouseType.SingleFamily;
ShowHouse();
return 0;
}
}
نتیجه ی زیر به دست می آید.
Type of house: Unknown Press any key to continue...