امتیاز موضوع:
  • 3 رأی - میانگین امتیازات: 3.67
  • 1
  • 2
  • 3
  • 4
  • 5
دستور كليدي براي آرايه ها ؟
نویسنده پیام
computer_prospect آفلاین
كاربر دو ستاره
**

ارسال‌ها: 95
موضوع‌ها: 39
تاریخ عضویت: شهریور ۱۳۸۷

تشکرها : 53
( 80 تشکر در 59 ارسال )
ارسال: #1
Exclamation  دستور كليدي براي آرايه ها ؟
سلام خدمت همه دوستان گرامي و محترم :
چند تا سوال داشتم؟؟
1) ref و out در پارامترهاي آرايه چه فرقي باهم دارند ؟
.........
اگر مثلا ما يك متغير در برنامه تعريف كنيم و نخواهيم مقدار آن متغير در آرايه مستقيم تغيير كند از ref يا out استفاده مي كنيم .
و اما ref : حتما بايد متغيير قبلش مقدار دهي شده باشد ؟
و اما out : مي تواند متغيير قبلش مقدار دهي نشود ؟

2) من يك نمونه برنامه پيوست كردم ، لطفا دوستان عزيز ببينند و براي من توضيح بدهند كه چرا جاي كلمه كليدي ref در پارامتر هاي آرايه ، از كلمه كليدي out استفاده مي كنم ، برنامه با Error مواجه مي شود ؟

پيشاپيش از راهنمايي شما دوستان گرامي سپاسگزارم .


فایل‌(های) پیوست شده
.rar   Change ref to Out.rar (اندازه: 35.9 KB / تعداد دفعات دریافت: 35)

[تصویر:  M-H.jpg?sizeM=3]
IF Having Life Ctrl + Z . Oh My God . Only Love Can Break My Heart ! Help Me . That's All I'm Dreaming of Let's Talk About Love
دوستان محترم لطفا برای تشکر فقط بر روی دکمه تشکر کلیک کنید نه چیز دیگر ممنون
۲۷-خرداد-۱۳۸۸, ۰۳:۰۰:۰۷
ارسال‌ها
پاسخ
تشکر شده توسط : sokote_cheshm
computer_prospect آفلاین
كاربر دو ستاره
**

ارسال‌ها: 95
موضوع‌ها: 39
تاریخ عضویت: شهریور ۱۳۸۷

تشکرها : 53
( 80 تشکر در 59 ارسال )
ارسال: #2
Exclamation  RE: دستور كليدي براي آرايه ها ؟
سلام دوستان :
يعني واقعا كسي از دوستان نيست كه به اين سوال پاسخ بده ؟
جالبه !
دوستان گرامي لطفا به اين سوال هم توجه فرمائيد .
پيشاپيش سپاسگزارم .

[تصویر:  M-H.jpg?sizeM=3]
IF Having Life Ctrl + Z . Oh My God . Only Love Can Break My Heart ! Help Me . That's All I'm Dreaming of Let's Talk About Love
دوستان محترم لطفا برای تشکر فقط بر روی دکمه تشکر کلیک کنید نه چیز دیگر ممنون
۳۰-خرداد-۱۳۸۸, ۰۱:۳۶:۳۳
ارسال‌ها
پاسخ
تشکر شده توسط : sokote_cheshm
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #3
RE: دستور كليدي براي آرايه ها ؟
من C# کار نیستم. ولی اینجوری که توی MSDN نوشته پارامتر های از نوع out توی تابع قبل از هر جور استفاده ای باید دوباره تعریف بشن.
کد:
x1=new int[]{2,4}
متغیر های از نوع ref هم میتونن میقدار نداشته باشن. توی تابع میتونید با یه if چک کنید که اگه null بود خدتون یه مقدار پیشفرض بدید.

میزان رای دشمن است!
[تصویر:  cff100.png]
۳۰-خرداد-۱۳۸۸, ۱۸:۳۲:۳۴
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : computer_prospect
computer_prospect آفلاین
كاربر دو ستاره
**

ارسال‌ها: 95
موضوع‌ها: 39
تاریخ عضویت: شهریور ۱۳۸۷

تشکرها : 53
( 80 تشکر در 59 ارسال )
ارسال: #4
RE: دستور كليدي براي آرايه ها ؟
(۳۰-خرداد-۱۳۸۸, ۱۸:۳۲:۳۴)ajlajlajl نوشته است: من C# کار نیستم. ولی اینجوری که توی MSDN نوشته پارامتر های از نوع out توی تابع قبل از هر جور استفاده ای باید دوباره تعریف بشن.
کد:
x1=new int[]{2,4}
متغیر های از نوع ref هم میتونن میقدار نداشته باشن. توی تابع میتونید با یه if چک کنید که اگه null بود خدتون یه مقدار پیشفرض بدید.

ممنون دوست گرامي :
اما من يه برنامه پيوست كردم . در آن برنامه چرا جاي Ref از Out استفاده مي كنم Error مي دهد ؟

راستي از اينكه لطف كردي و به سوال من پاسخ دادي واقعا ممنونم .

[تصویر:  M-H.jpg?sizeM=3]
IF Having Life Ctrl + Z . Oh My God . Only Love Can Break My Heart ! Help Me . That's All I'm Dreaming of Let's Talk About Love
دوستان محترم لطفا برای تشکر فقط بر روی دکمه تشکر کلیک کنید نه چیز دیگر ممنون
۳۰-خرداد-۱۳۸۸, ۱۸:۵۸:۵۲
ارسال‌ها
پاسخ
تشکر شده توسط : sokote_cheshm
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #5
RE: دستور كليدي براي آرايه ها ؟
خب گفتم که. شما توی تابع باید اول آرایه رو دوباره تعریف کنید. بعد ازش استفاده کنید.

میزان رای دشمن است!
[تصویر:  cff100.png]
۳۰-خرداد-۱۳۸۸, ۱۹:۱۴:۴۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : computer_prospect, sokote_cheshm
computer_prospect آفلاین
كاربر دو ستاره
**

ارسال‌ها: 95
موضوع‌ها: 39
تاریخ عضویت: شهریور ۱۳۸۷

تشکرها : 53
( 80 تشکر در 59 ارسال )
ارسال: #6
RE: دستور كليدي براي آرايه ها ؟
(۳۰-خرداد-۱۳۸۸, ۱۹:۱۴:۴۹)ajlajlajl نوشته است: خب گفتم که. شما توی تابع باید اول آرایه رو دوباره تعریف کنید. بعد ازش استفاده کنید.

ajlajlajl عزيزم از اينكه بلافاصله به سوالات من (چه در اين تاپيك چه در تاپيك هاي ديگر ) پاسخ مي دهي سپاسگزارم .
اما من آرايه رو دوباره از نو تعريف كردم اما بازم Error ميده . اگر وقت داشتي ، منت سر بنده گذاشتي، اگر برنامه رو يكبار باز كني و ببيني چرا نميشه و اگر درست كردي همين جا پيوست كني تا متوجه اشكالم بشم .
اگر هم كه براتون امكان پذير نبود ، شما لطفتون شامل حال من بوده بازم ازتون سپاسگزارم ، ايرادي نداره .
پيشاپيش سپاسگزارم .

[تصویر:  M-H.jpg?sizeM=3]
IF Having Life Ctrl + Z . Oh My God . Only Love Can Break My Heart ! Help Me . That's All I'm Dreaming of Let's Talk About Love
دوستان محترم لطفا برای تشکر فقط بر روی دکمه تشکر کلیک کنید نه چیز دیگر ممنون
۳۰-خرداد-۱۳۸۸, ۲۰:۰۰:۳۱
ارسال‌ها
پاسخ
تشکر شده توسط : sokote_cheshm
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #7
RE: دستور كليدي براي آرايه ها ؟
من برنامه تونو دیدم. کدشو میگذارم احتمالا منظور منو نگرفتید.

تابع sum شما اگه پارامتر هاش out بشه باید اینجوری بنویسید تا کار کنه:
کد:
void sum (int[] sam , out int[] x1, out int[] y1 )
    {
        x1 = new int[] { 2, 9 };
        y1 = new int[] { 2, 9 };
        int j;
        for (j = 0; j < 2; j++)
            sam[j] = x1[j] + y1[j];
    }
اینجوری که من دیدم از پارامتر های out فقط برای خروجی دادن از تابع به کار میده و فایده ای دیگه نداره.

میزان رای دشمن است!
[تصویر:  cff100.png]
(آخرین ویرایش در این ارسال: ۳۰-خرداد-۱۳۸۸, ۲۰:۱۴:۱۷، توسط ajlajlajl.)
۳۰-خرداد-۱۳۸۸, ۲۰:۱۲:۴۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : computer_prospect, sokote_cheshm
comnet آفلاین
تازه وارد

ارسال‌ها: 2
موضوع‌ها: 0
تاریخ عضویت: آبان ۱۳۸۷

تشکرها : 2
( 4 تشکر در 1 ارسال )
ارسال: #8
RE: دستور كليدي براي آرايه ها ؟
در تایید فرمایش شما باید بگم که اگر یک پارامتر out دارای یک مقدار در داخل بدنه تابع نباشد ، متد کامپایل نخواهد شد.که اینجا نیاز بود داخل متد sum ، مجدد x , y مقدار دهی شوند.
و این می تونه فرق ref با out در نحوه مقدار دهی باشد.
۱۲-تير-۱۳۸۸, ۰۴:۳۰:۵۲
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [سوال] دستور inputbox mehrdad8 2 2,280 ۱۵-تير-۱۳۹۴, ۱۷:۰۳:۳۶
آخرین ارسال: mehrdad8
  [سوال] دستور group by moyjon 0 1,953 ۱۳-دى-۱۳۹۳, ۱۱:۲۸:۵۰
آخرین ارسال: moyjon
  معادل این دستور تور سی شارپ mehrdad8 1 2,535 ۲۲-اردیبهشت-۱۳۹۳, ۱۴:۵۴:۲۵
آخرین ارسال: Di Di
  [سوال] كد اجراي برنامه براي هر ٤٠ دقيقه يك بار A.P-H@ck3r 10 5,986 ۱۲-اردیبهشت-۱۳۹۳, ۲۱:۵۴:۲۹
آخرین ارسال: Ghoghnus
  مشکل با دستور if A.P-H@ck3r 3 2,541 ۱۹-بهمن-۱۳۹۲, ۰۱:۰۶:۳۴
آخرین ارسال: ترانسپورتر
  اشکال در انتصاب مقدار در دستور insert Sadie 0 2,345 ۱۶-تير-۱۳۹۱, ۲۳:۰۶:۴۱
آخرین ارسال: Sadie
  [سوال] برنامه نويسي براي پورت USB MicroRobo 0 2,380 ۲۴-آبان-۱۳۹۰, ۱۶:۴۹:۲۴
آخرین ارسال: MicroRobo
  سوال از قرار دادن فیلم ، نوشتن فارسی در دستور ، پس زمینه box.... در c# 1nafar 10 12,327 ۲۹-دى-۱۳۸۹, ۱۵:۱۲:۳۷
آخرین ارسال: somy
  كامپونت كم حجم براي طراحي فرم iran58 1 3,790 ۲۱-تير-۱۳۸۹, ۱۷:۵۳:۰۳
آخرین ارسال: salehjg
  تغییر خاصیت کنترل با دستور تکرار hamidsina 5 5,379 ۱۷-مهر-۱۳۸۸, ۲۰:۱۰:۰۷
آخرین ارسال: ajlajlajl

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS