ایجاد و استفاده از تابعی که بیش از یک مقدار بر میگرداند

MPERSIA4

Member
با درود و خسته نباشید
میخواستم بدونم چطور میتونم ی تابع تعریف کنم که چنتا مقدار رو برگردونه و من بنا به نیازم یک یا چنتا از این مقادیر رو استفاده کنم ؟
و بعدش چطور از اون استفاده کنم، مثلا چطور مقادیری رو که نیاز دارم از مقادیر برگشت داده شده اون تابع انتخاب کنم؟

با سپاس فراوان:clap:
 

SajjadKhati

کاربر فعال <A href="http://forum.majidonline.com/f
سلام
اگه منظورتون توی زبان سی شارپ هست ، البته تا استاد علی بیان ، میشه از کلمه ی کلیدی out استفاده کرد

کد:
public int method1(int a, out string b)
        {
            int c = a * 5;
            string d = c.ToString();
            b = d;
            return c;
        }

فقط خروجی ها یعنی اون هایی که کلمه ی کلیدی out دارن (مثل شی b در بالا) ، حتما باید در متد مورد نظر ، مقدار دهی بشن ولو اگه قابلیت null شدن داشته باشن ، حتی مقدار null بهشون داده شه
منتظر راهنمایی استاد علی و بقیه ی اساتیدها باشین
 

MPERSIA4

Member
سلام
اگه منظورتون توی زبان سی شارپ هست ، البته تا استاد علی بیان ، میشه از کلمه ی کلیدی out استفاده کرد

کد:
public int method1(int a, out string b)
        {
            int c = a * 5;
            string d = c.ToString();
            b = d;
            return c;
        }

فقط خروجی ها یعنی اون هایی که کلمه ی کلیدی out دارن (مثل شی b در بالا) ، حتما باید در متد مورد نظر ، مقدار دهی بشن ولو اگه قابلیت null شدن داشته باشن ، حتی مقدار null بهشون داده شه
منتظر راهنمایی استاد علی و بقیه ی اساتیدها باشین
مرسی
ولی چطو میتونم یکی از این مقادیر رو استفاده کنم؟
مثلا چطو به برنامم بفهمونم که باید b رو ورداره یا c رو؟
میبخشید، ی خرده بیشتر توضیح میدید که این کد چطور کار میکنه؟ تازه کارم ، میخوام کدهارو درک کنم
 

SajjadKhati

کاربر فعال <A href="http://forum.majidonline.com/f
مرسی
ولی چطو میتونم یکی از این مقادیر رو استفاده کنم؟
مثلا چطو به برنامم بفهمونم که باید b رو ورداره یا c رو؟
میبخشید، ی خرده بیشتر توضیح میدید که این کد چطور کار میکنه؟ تازه کارم ، میخوام کدهارو درک کنم

فراموش کردم فراخونی شو بگم
اینم فراخونی اش :

کد:
string myStringResult;
            int resault = method1(15, out myStringResult);
            System.Windows.Forms.MessageBox.Show(resault.ToString());
            System.Windows.Forms.MessageBox.Show(myStringResult);

حالت خروجی اولی که return داره که مشخص هست و مثل بقیه ی متدهای عادی پس مقدار متغییر resault همون مقدار بازگشتی (مقداری که با return برگردونده میشه) در متد method1 هست
متغییر out هم چون در آرگومان یه متد قرار داره ، دقیقا مثل آرگومان باهاش برخورد میشه (اما مقدار بهش نمیدیم و متغییر بهش میدیم) . بعد از فراخونی متد ، کافی هست برای استفاده از متغییر myStringResult ، فقط فراخونی اش کنید (البته بعد از فراخونی متدتون ، چون در متد ابتدا باید متغییری که out هست ، مقدار دهی بشه) . یعنی دقیقا همون طوری که متغییر خروجی return متد (متغییر resault در بالا) رو فراخونی میکنید
 

MPERSIA4

Member
ممنون
پس به این روش میتونم چنتا خروجی دیگه بعنوان آرگومان متد داشته باشم؟ درسته؟
خیلی خیلی ممنون از جوابتون
 

جدیدترین ارسال ها

بالا