PDA

View Full Version : سوال: خروجی تابع



Ehsan Programmer
سه شنبه 24 فروردین 1389, 23:44 عصر
سلام
من یک تابع دارم که خروجی آن از یکی بیشتر است مثلا دو یا چند نام که تعداد خروجی این نام مشخص نیست و بسته به if ,... دارد باید تابع رو چه جوری تعریف کنم

zmmehrdad
چهارشنبه 25 فروردین 1389, 00:10 صبح
out یا ref کارت رو راه نمیندازه
یا اینکه یه کلاس تعریف کنی هر چند تا متغیر که می خوای توش تعریف کن بعد مقدار برگشتی تابع رو از جنس کلاس تعریف کن

اَرژنگ
چهارشنبه 25 فروردین 1389, 07:27 صبح
سلام
من یک تابع دارم که خروجی آن از یکی بیشتر است مثلا دو یا چند نام که تعداد خروجی این نام مشخص نیست و بسته به if ,... دارد باید تابع رو چه جوری تعریف کنم
با روش اشتباه پیاده ریزی شده، این روش از بنا خراب است، کد تابع را بفرستید ببینیم.

AliRezaPro
چهارشنبه 25 فروردین 1389, 07:36 صبح
کد رو بده تا دوستان شاید نظرات بهتری بدهند . مقدار رو نمیتونید به صورت آرایه ریترن کنید؟

اَرژنگ
چهارشنبه 25 فروردین 1389, 07:56 صبح
out یا ref کارت رو راه نمیندازه
یا اینکه یه کلاس تعریف کنی هر چند تا متغیر که می خوای توش تعریف کن بعد مقدار برگشتی تابع رو از جنس کلاس تعریف کن
مشکل اساسی است، این راه حلها مشکل واقعی را برطرف نمیکنند، با یکمی تامل و تفکر میشه در سطح بالاتر مشکل را از بنا حل کرد.

orkideh07
چهارشنبه 25 فروردین 1389, 09:03 صبح
سلام
من یک تابع دارم که خروجی آن از یکی بیشتر است مثلا دو یا چند نام که تعداد خروجی این نام مشخص نیست و بسته به if ,... دارد باید تابع رو چه جوری تعریف کنم
اگه داده ها از یه نوع هستند بریزشون توی یه آرایه و آرایه رو برگردون...سی شارپ امکان بازگرداندن آرایه رو داره!

اَرژنگ
چهارشنبه 25 فروردین 1389, 09:16 صبح
اگه داده ها از یه نوع هستند بریزشون توی یه آرایه و آرایه رو برگردون...سی شارپ امکان بازگرداندن آرایه رو داره!
فرض کنیم از این روش استفاده شد، اشکلاتی که این روش بوجود میارد را لیست کنید.

babak2000
پنج شنبه 14 شهریور 1392, 21:18 عصر
دوستان منهم همین مشکل را دارم امکانش هست یه کد نمونه قرار بدید (البته با Vb.net کار میکنم)

خروجی ها هر دو از یک نوع هستن (دو تا رشته) اگه بریزم تو یه ارایه چه جوری بعد از برگشت ازشون استفاده کنم ؟؟ (VB.net?)

Byref چگونه است ؟

یه کد کوچولو بذارید ممنون میشم

aliagamon
پنج شنبه 14 شهریور 1392, 21:37 عصر
بهتر بود تو تالار خودش مطرح میکردی :(این تعریف تابع)

Private Function Returnstring() As String()
Dim a As String = "Salam", b As String = "Khobi"
Dim ret As String() = New String() {a, b}
Return ret
End Function

اینم استفاده ازش:

Dim a As String() = Returnstring()
TextBox1.Text = a(0)
TextBox2.Text = a(1)

aliagamon
پنج شنبه 14 شهریور 1392, 22:24 عصر
شما می فرمایین اشکالاتی بوجود می آره؟ میشه یکم توضیح بدین چه اشکالاتی بوجود می آره؟ می پرسم چون من هم اگه بخوام چند تا داده رو برگشت بدم از آرایه استفاده میکنم.
نمیدونم دقت کردین یا نه اما پستی که نقل قول کردین تاریخش ماله:


چهارشنبه 25 فروردین 1389 09:46 صبح

بوده و نویسندش از تاریخ


جمعه 17 شهریور 1391 14:45 عصر

انلاین نشده ...
:لبخند:

m_ali_gho
پنج شنبه 14 شهریور 1392, 22:29 عصر
نمیدونم دقت کردین یا نه اما پستی که نقل قول کردین تاریخش ماله:

بوده و نویسندش از تاریخ

انلاین نشده ...
:لبخند:


:لبخند: :اشتباه: راستش تاریخ پست رو دیده بودم اما پروفایل اون شخص رو ندیدم که آخرین بار کی آنلاین شده. موضوع رو دیدم برام سوال پیش اومد. الان پستمو پاک می کنم.

babak2000
پنج شنبه 14 شهریور 1392, 22:31 عصر
تاپیک قدیمی هستش ولی نخواستم باز تکراری تاپیک بزنم
بهرحال دوست عزیز ممنون کدها را مثل شما نوشتم ولی توی برگشت هیچی نشون نمیده


a(0)=Nothing
a(1)=Nothing

aliagamon
پنج شنبه 14 شهریور 1392, 22:46 عصر
والا من خودم اجرا کردم مشکلی نداشت شما یه جایی اشتباه کردی حتما...اگه تغییری دادی توش بزار کدو شاید اشتباهی کردی ...

babak2000
پنج شنبه 14 شهریور 1392, 22:55 عصر
دستت درد نکنه درست شد:تشویق: