PDA

View Full Version : سوال: تابعی که چند مقدار برگشتی داشته باشد



IMANAZADI
پنج شنبه 06 بهمن 1390, 16:40 عصر
با سلام
آیا در سی شارپ میشود متدی نوشت که چند نوع برگشتی داشته باشه
مثلا
private int xxx(int num)
{
return num*2;
return num*3;
{
ممنون میشم

shadi khanum
پنج شنبه 06 بهمن 1390, 17:03 عصر
نه دوست عزیز. خروجی یک مقدار و چندین مقدار نمیتونه باشه. اگه میخوای چند تا مقدار رو توسط تابع برگردونی یا میتونی متغیر ورودی ونتها از نوع OUT تعریف کنی و توی تابع مقداری که میخوای به بیرون بفرستی رو تو اون بریزی یا اینکه مثلا یه کلاس یا Structure تعریف کنی که هر چند تا که میخوای فیلد داشته باشه و خروجی تابع از اون نوع باشه..
موفق باشی

Hybrid
پنج شنبه 06 بهمن 1390, 17:08 عصر
دوست عزیز توی ریاضی آیا امکان داره یه تابع چند خروجی داشته باشه؟؟؟ قطعا نه ... مفهموم تابع در برنامه نویسی از ریاضی سرچشمه گرفته و امکان نداره یه تابع با چند مقدار خروجی داشته باشه.

موفق باشید./

project80888
پنج شنبه 06 بهمن 1390, 17:13 عصر
از لیست پیوندی استفاده کن

crazy_1892
پنج شنبه 06 بهمن 1390, 17:19 عصر
دوست عزیز یک سری متغیر عمومی تعریف کن و در تابع به اون متغیر ها مقدار بده

m2_farzan
پنج شنبه 06 بهمن 1390, 19:11 عصر
میتونید متغیر های مورد نظر رو همراه بقیه پارامتر ها به صورت ارجاع به تابع بفرستید

masoud_z_65
پنج شنبه 06 بهمن 1390, 19:35 عصر
دوست عزیز این تاپیک رو نگاه کن

http://barnamenevis.org/showthread.php?313500-نوشتن-متدی-با-دو-مقدار-برگشتی

cherchil_hra
پنج شنبه 06 بهمن 1390, 19:55 عصر
پارامتر خروجی تعریف کن یا اینکه خروجی تابع ات رو از نوع آرایه تعیین کن

Hajivandian
پنج شنبه 06 بهمن 1390, 20:16 عصر
این کاری که می خوای انجام بدی نمیشه مگه از راه کارهایی که دوستان گفتند استفاده کنی البته تویه سی شارپ یه قابلیت دیگه هم هست که می تونی از اون استفاده کنی


private IEnumerable<int> xxx(int num)
{
yield return num*2;
yield return num*3;
}

به عنوان مثال اگر num=4 نتیجه یه نوع شمارشی به صورت زیر میشه :
8 12

rahmatr
پنج شنبه 06 بهمن 1390, 21:00 عصر
برای این کار میتونید از Tuple (http://msdn.microsoft.com/en-us/library/system.tuple.aspx) استفاده کنید :


var s = Tuple.Create<int, int, string>(2, 5, "test");

int item1 = s.Item1; //2
int item2 = s.Item2; //5
string item3 = s.Item3; //test


یکی از موارد استفاده کلاس tuple، نوشتن تابعی است که چند مقدار برگشتی داشته باشد :
To return multiple values from a method without using out parameters (in C#) or ByRef parameters (in Visual Basic).