PDA

View Full Version : برگرداندن یک مقدار برای تابع



hossein_va
پنج شنبه 03 اردیبهشت 1394, 23:08 عصر
سلام
من یه تابع دارم که مقداری را برمیگرداند

int Fun()
{
//command ...
return (value);
}


حالا من میخوام موقع استفاده از تابع به مقداری دسترسی داشته باشم که درون تابع محاسبه شده ولی جدا از value است که return شده.در واقع میخوام به شکل زیر بتونم به اون مقدار دستری داشته باشم

Fun().NewValue;


چطوری میتونم این کار را انجام بدم

fafa_n6190
پنج شنبه 03 اردیبهشت 1394, 23:33 عصر
سلام میتونی از out keyword استفاده کنی ، اینطوری:


class OutReturnExample
{
static void Method(out int i, out string s1, out string s2)
{
i = 44;
s1 = "I've been returned";
s2 = null;
}
static void Main()
{
int value;
string str1, str2;
Method(out value, out str1, out str2);
// value is now 44
// str1 is now "I've been returned"
// str2 is (still) null;
}
}

hossein_va
پنج شنبه 03 اردیبهشت 1394, 23:54 عصر
اینو میدونستم ولی اگه بخوام به شکلی که خودم گفتم بشه چکار باید کرد؟

Fun().NewValue;

fafa_n6190
جمعه 04 اردیبهشت 1394, 01:14 صبح
تا جایی که من اطلاع دارم با این روش نمیشه همچین کاری کرد ، تابع شما باید آرگومان هایی رو به عنوان ورودی دریافت کنه و خروجی متناسبی رو به شما بده ، شما به متغییر های محلی داخل تابع دسترسی نخواهید داشت (کار تابع همینه) مگر این که اونهارو مطابق روش قبل به بیرون پاس بدید ، یا اینکه مقدار مورد نظر رو در متغیر عمومی خارج تابع قرار بدید.
شما وقتی بعد از فراخوانی تابع از دات استفاده میکنید درواقع دارید خروجی تابع رو مورد استفاده قرار میدید.