دمت گرم عالي بود
من هم تصميم گرفتم از همين الان #c رو ياد بگيرم
دمت گرم عالي بود
من هم تصميم گرفتم از همين الان #c رو ياد بگيرم
سلام بچه ها
کار خوبی رو شروع کردین
از زحمات همه ممنون
واسه من یکی که خیلی مفید بود
بعد از خوندن پستا یه سری سوال واسم پیش اومد که اگه کسی کمکم کنه ممنون میشم
در ضمن اینم بگم که فعلا تا اول پست 12 خوندم پس اگه سوالایی که می پرسم جلوتر توضیح دادین شاکی نشین
--------------------------------------------------------------------------------------------------------------------------------
1- در مورد چاپ خروجی توی پست 9 و پست 10(قسمت while) رو با هم مقایسه کردم.
این دو تا روش یکی هستن؟!
2-توی پست 9 قسمت foreach
دستور foreach(int i in arr) دقیقا یعنی چی؟ بیشتر منظورم استفاده از کلمه int هست
یعنی اعداد صحیح داخل آرایه رو چک می کنه؟!
3- اگه ممکنه یه توضیحی در مورد Set و Get و ساختار کلیشون بدین چون مشابهش رو قبلا ندیدم متوجه نشدم
-----------------------------------------------------------------------------------------------------------------------------------
بچه ها کسی اینجا جواب نمیده؟
لطفا راهنمایی کنید
بچه ها واقعا دیگه چرا کسی اینجا نمیاد؟!!!!
میشه در مورد Windows application هم مقاله بذارین؟!
در مورد سوال 2 بايد بگم اين int توي اين حلقه نوع i رو مشخص مي كنه درواقع متغيير i رو توي همين جا معرفي كرده و به اين دليل از جنس int تعريف كرده كه arr آرايه اي از جنس int هستند كاراش هم اينه كه از i به عنوان يك temp استفاده مي كنه (تقريبا)، يعني دونه دونه خونه هاي ارايه رو توي متغير (در اينجا i) ميريزه و بعد كارا رو روش انجام ميده و در مرحله بعد ميره سراغ خونه بعدي آرايه تا آرايه تموم بشه
در مورد سوال 1 : من توي پست 9 حلقه ي while پيدا نكردم
در مورد سوال 3 : بعدا ميگم... (يعني فعلا وقت ندارم)
سلام خدمت دوستاننوشته شده توسط فاطـمه [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
فاطمه خانم در دستور foreach شما درست متوجه شديد
foreach (int i in array) 0 ليست array را همانند يك حلقه for عادي مي گردد و با پيدا كردن هر int در ليست يك شيء از آن را برگشت داده به خاطر همين وجود int i براي دانستن نوع شيء مورد جست و جو و اختصاص دادن فصاي رم براي شيء بازگشتي لازم است.
البته لازم ذكر است كه اگر در ليست شي اي به غير از شيء مورد جست و جو وجود داشته باشد و كامپايلر نتواند آن را به شيء مورد جست و جو تبديل كند موجب ايجاد خطا (Exception) ميشود.
به عبارت ديگر foreach همانند دستور زير است
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
يك مثال كه هم اكنون به ذهنم خورد اين است كه:
شما مي خواهيد رنگ نوشته تمام Control هاي فرم ( و يا هر container ديگر را) عوض كنيد. راه حل اول عوض كردن رنگ تك تك آنهاست كه اگر تعداد كنترل ها زياد و يا دايناميك باشد قابل استفاده نيست اما با يك دستور foreach كار را ساده تر مي كند.
اميدوارم مطالب گفته شده بدرد شما بخورد.کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
با تشكر AHS
از توضیحاتتون ممنونمنوشته شده توسط H_E_A [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
در مورد قسمتی مشخص شده باید بگم که من گفتم پست 9 و قسمت while پست 10
در مورد سوال 3 هم منتظر می مانیم
از راهنمایی هاتون واقعا ممنوننوشته شده توسط ahmadsystemco [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
ممکنه مثال آخر رو بیشتر توضیح بدین؟
[/left]
سلامنوشته شده توسط فاطـمه [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
حتما
در اين مثال (كه مختص تغيير رنگ forecolor تمام control هاي يك فرم است) از دستور foreach براي جست و جو در ميان كنترلهاي فرمي كه اين متد (دستور) در آن اجرا شده استفاده مي شود.
شيء مورد جست و جو در حلقه foreach شيء كنترل Control است و اشاره گري كه براي تغيير در مشخصات كنترل ها به كار رفته my_control مي باشد كه يك نام اختياري است. اين حلقه در آرايه ي this.Controls جست و جو مي كند كه this اشاره به فرم كنوني دارد. شما مي توانيد هر Container ديگري را به جاي this به كار ببريد.
(ببخشيد مي دونم توضيحاتم اضافيه)
حلقه با پيدا كردن هر كنترل رنگ متن آن را به قرمز (my_control.ForeColor = Color.Red) تغيير مي دهد.
اميد وارم مقداري سودمند بوده باشم!
با تشكر AHS
سلام
یکم توضیح واسه set , get (هرچند می دونم دوستان بهتر می تونند مطلبو برسونند)
توی سی شارپ به این متد ها که برای مقداردهی یا مقدار خوانی از دیتافیلد به کار میره Accessor (اکسسور) میگند ، اون متغییر هایی که براشون از اکسسور استفاده میشه Indexer یا property و بقیه متغییر هایی که پراپرتی یا همون ایندکسر ندارند رو DataField میگند
این مثال رو در نظر بگیرید
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدما اینجا میتونیم خارج از کلاس به name که دارای توصیفگر private هست مقدار بدیم یا مقدار بخونیم دقت کنید ( و بازم دقت کنید) که در اینجا متغییمون با name و پراپرتیمون رو با Name تعریف کردیم و حتما توجه دارید که سی شارپ به بزرگی و کوچکی حروف حساسه
خوب، خوبی این کار چیه؟؟؟
تو یه کلمه کپسوله سازی بهتر
اما واسه توضیح بیشتر اگه دقت کنید ما به یه متغییر اختصاصی تونستیم مقدار بدیم و مقدارشو بخونیم (یعنی با این کار می تونیم مقادیر متغییر های اختصاصی رو کنترل کنیم )
جدای از اون اگه تو مثال بالا set رو نمینوشتیم فقط میتونستیم از name مقدار بخوینم یعنی متغیر فقط خواندنی ...(و همینطور اگه get رو نداشتیم نمیتونستیم مقدارش رو بخونیم ...) و...
حالا اگه وارد بحثهای ارث بری و چند ریختی و ... بشیم کارای جالبی رو میشه با این متدهای set , get به ظاهر بی ارزش انجام داد که هر چه برنامه بزرگ تر باشه بیشتر کمکتون میکنه
اما روش صدا زدنش تو برنامه اینطوریه :
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدخط اول یه شی به نام I از ID میسازه
خط دوم set رو اجرا میکنه که رشته _H رو به value میده و میریزدش تو name
خط سوم اول get رو صدا میکنه مقدارش رو میریزه تو value بعد E_A رو بهش اضافه میکنه و بعد اون value رو میده به name (مثل خط دوم )
حالا مقدار name برابر H_E_A است
(امیدوارم توضیحاتم مفید باشه )
(اگه ایرادی داره دوستان تذکر بدند)
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)