PDA

View Full Version : تست وجود متغیر یا ابجکت در حافظه



am_al_59
سه شنبه 18 دی 1386, 18:06 عصر
سلام

من میخوام چک کنم که یک آبجکت یا یک متغیر تعریف شده یا نه
توی ++C دستورش _if_exist__ یا همچین چیزی بود اما توی #C هرچی گشتم هیچ مطلبی پیدا نکردم نه دستور نه روش ! لطفا" راهنمائی کنید

hassan razavi
سه شنبه 18 دی 1386, 21:47 عصر
منظورتون را متوجه نمیشم ، لطفا با یک مثال بیان کنید.

sinpin
سه شنبه 18 دی 1386, 22:33 عصر
سلام
من میخوام چک کنم که یک آبجکت یا یک متغیر تعریف شده یا نه
توی ++C دستورش _if_exist__ یا همچین چیزی بود اما توی #C هرچی گشتم هیچ مطلبی پیدا نکردم نه دستور نه روش ! لطفا" راهنمائی کنید
خب خیالتون راحت باشه اگه چیزی رو تعریف نکنید و بخواین استفاده کنید در Compile-Time مشخص میشه (کامپایلر error میده)
دقیقتر بفرمایید دنبال چی هستید ؟

am_al_59
چهارشنبه 19 دی 1386, 04:12 صبح
دنبال چیز خاصی نیستم فقط دارم سعی میکنم #C رو یاد بگیرم
مثلا" میخوام یک متغیر به نام myValue از نوع int تعریف کنم
اگر این متغیر قبلا" تعریف شده باشه کامپایلر خطا میده
قبل از تعریف این متغیر میخوام چک کنم ببینم این متغیر تعریف شده یا نه

اَرژنگ
چهارشنبه 19 دی 1386, 04:27 صبح
دنبال چیز خاصی نیستم فقط دارم سعی میکنم #C رو یاد بگیرم
مثلا" میخوام یک متغیر به نام myValue از نوع int تعریف کنم
اگر این متغیر قبلا" تعریف شده باشه کامپایلر خطا میده
قبل از تعریف این متغیر میخوام چک کنم ببینم این متغیر تعریف شده یا نه

این روش یادگیری سی شارپ درست نیست.
با تبدیل روشهایی که در++C استفاده میکردید به سی شارپ شما نه دارید سی شارپ یاد میگیرید و نه در برنامه نویسی پیشرفت میکنید.
این روش معمولا در زبانهایه scripting رایج هستند و زبانهایی مانند #Cاحتیاجی به اینکار ندارند (همانطوری که سینا جان اشاره کردند کمپایلر بهتان میگه که تعریف نشده.)

am_al_59
چهارشنبه 19 دی 1386, 16:41 عصر
دوست عزیز ظاهرا" شما اصلا" عادت ندارین مطالبو با دقت بخونین !
اولا" اینکه از من خواسته شد مثال بزنم ، منهم از چیزی که بلد بودم مثال آوردم تا منظورمو واضح بیان کنم، حالا شما چه طوری به روشها و یادگیری #C ربطش دادین ... !؟

لینک درخواست مثال رو میزارم که توی حجم مطالب بالا دوباره سردرگم نشین !!!
http://barnamenevis.org/forum/showpost.php?p=447292&postcount=2

دوما" طراح و برنامه نویس یک برنامه باید تشخیص بده که برنامش به چی احتیاج داره یا نداره

سوما" سوالمو دوباره میپرسم البته ایندفعه بدون ذکر مثال ، تا دوستانی که مثل شما به جای خواندن دقیق سوالات و دادن جواب روشن، سعی در نتیجه گیری و ابراز نظر دارند توی زحمت نیوفتند

راهی برای تشخیص موارد زیر به صورت Run-Time در #C وجود دارد یا خیر ؟

مقداری از نوع String از کاربر دریافت می شود، آیا می شود تشخیص داد متغیر، کلاس یا ابجکتی همنام با این رشته در برنامه تعریف شده است ؟

اَرژنگ
چهارشنبه 19 دی 1386, 17:03 عصر
ما باید حدس بزنیم که حدف شما از اینکار چی هست؟ فرض کنیم که این کار شدنی هست، برایه چه کاری لازمش دارید (اگر بگید برایه انجام دادن کار بخصوصی میخواهید جواب دقیقتر میگیرید).

hassan razavi
چهارشنبه 19 دی 1386, 17:08 عصر
اصلا اصلا اصلا مطمئن نیستم ولی فکر کنم با Reflection بتونی ینکار رو انجام بدی. در این مورد که با Reflaction میشه یا نمیشه دوستان عزیزمون ارژنگ خان و night_fall2 حتما می تونند پاسخگو باشند.

اَرژنگ
چهارشنبه 19 دی 1386, 17:10 عصر
اصلا اصلا اصلا مطمئن نیستم ولی فکر کنم با Reflection بتونی ینکار رو انجام بدی.
با Reflection میشه خیلی کارها انجام داد ولی چیکار دارند انجام میدن معلوم نیست.

hassan razavi
چهارشنبه 19 دی 1386, 17:12 عصر
فکر کنم دیگه منظورشون این باشه که :

مقداری از نوع String از کاربر دریافت می شود، آیا می شود تشخیص داد متغیر، کلاس یا ابجکتی همنام با این رشته در برنامه تعریف شده است ؟

اَرژنگ
چهارشنبه 19 دی 1386, 17:17 عصر
فکر کنم دیگه منظورشون این باشه که :

مقداری از نوع String از کاربر دریافت می شود، آیا می شود تشخیص داد متغیر، کلاس یا ابجکتی همنام با این رشته در برنامه تعریف شده است ؟

اگر میخواهند به طریق داینامیک برنامه بسازند، CodeDOM برایه همین کاره : http://www.c-sharpcorner.com/UploadFile/mgold/CodeDomCalculator08082005003253AM/CodeDomCalculator.aspx?ArticleID=b6bf78d0-28cd-4622-ab4d-f253533dc018
اگر هم که هدف کاره دیگست...،

am_al_59
چهارشنبه 19 دی 1386, 18:54 عصر
اصلا اصلا اصلا مطمئن نیستم ولی فکر کنم با Reflection بتونی ینکار رو انجام بدی. در این مورد که با Reflaction میشه یا نمیشه دوستان عزیزمون ارژنگ خان و night_fall2 حتما می تونند پاسخگو باشند.


از دوست عزیزم جناب رضوی به خاطر راهنمائی فوق العاده مفیدشون متشکرم :تشویق:
دقیقا" همون چیزی هست که میخواستم با این تفاوت که جواب بسیاری از سوالات دیگه رو هم تونستم با این راهنمائی پیدا کنم :قلب:

choobin84
چهارشنبه 19 دی 1386, 23:02 عصر
یه reflection که کد برنامه ای که الان دارید اجرا می کنید رو یه سری اطلاعات بهتون میده، در مورد توابع و کلاس هایی که در برنامه نوشته شده اطلاعاتی از جمله توابع تعریف شده از نوع public or private نوع مقادیر برگشتی از توابع abstract بودن و یا نبودن توابع و یه سری اطلاعات دیگه.
آقای رضوی، همینه؟

اَرژنگ
پنج شنبه 20 دی 1386, 04:37 صبح
از دوست عزیزم جناب رضوی به خاطر راهنمائی فوق العاده مفیدشون متشکرم :تشویق:
دقیقا" همون چیزی هست که میخواستم با این تفاوت که جواب بسیاری از سوالات دیگه رو هم تونستم با این راهنمائی پیدا کنم :قلب:

آخرش هم شما به خودتان زحمت ندادید که سوالهایه ما را جواب بدید.
مشکل اصلی چی هست؟

شما هم به نوشته هایه بقیه توجه نمیکنید.

am_al_59
پنج شنبه 20 دی 1386, 15:31 عصر
آخرش هم شما به خودتان زحمت ندادید که سوالهایه ما را جواب بدید.
مشکل اصلی چی هست؟

شما هم به نوشته هایه بقیه توجه نمیکنید.
:لبخندساده:

خوب دوست عزیز جنای آقای آرژنگ :لبخندساده:
امیدوارم از دست من دلخور نباشید... (( حتما" هستید.))
از شما غذر میخوام، جواب ندادم چون توی موقعیت بدی بودم سعی کردم به ساده ترین شکل سوالمو مطرح کنم
حالا کلی واستون عرض میکنم که واسه مراحل بعد اگر چیزی به نظرتون رسید منو راهنمائی کنید
تعدادی منبع داریم با اطلاعات حساس و بدون حافظه دائمی ، برای همه این منابع فقط 1 خط انتقال داریم با سرعت نه چندان زیاد ((نسبت به سرعت حجیم شدن داده ها)) که بین منابع سوئیچ میشه... این منابع فقط در حد چند دقیقه توانائی نگهداری اطلاعاتو دارن که در صورت تحلیه نشدن در مدت مجاز یک روتین داخل خود منبع اجرا میشه
وظایف این منابع بعد از تخلیه توسط خط انتقال به طور تصادفی تعیین میشه که در این قسمتش اطلاعات زیادی ندارم و مربوط به کار ما هم نمیشه. سیستمی که خط انتقال رو کنترل میکنه مجاز به پردازش اطلاعات منابع نیست با این شرایط و زمان کم برای انتقال فقط با فشرده سازی و انتقال سریع میشه اطلاعات همه منابع رو به موقع تخلیه کرد.
این کلیاتش بود که دارم چیکار می کنم
حالا به نظر شما کدوم شکل سوال بهتر بود ؟ اون که پرسیدم یا این که الان توضیح دادم ؟
:لبخندساده:

Mahdi.Kiani
پنج شنبه 20 دی 1386, 16:18 عصر
وقتی که اینو مینویسین

دنبال چیز خاصی نیستم فقط دارم سعی میکنم #C رو یاد بگیرم


طبیعتا پاسخ زیر بهترین جواب می تونه باشه

این روش یادگیری سی شارپ درست نیست.




اگر میخواهند به طریق داینامیک برنامه بسازند، CodeDOM برایه همین کاره : http://www.c-sharpcorner.com/UploadFile/mgold/CodeDomCalculator08082005003253AM/CodeDomCalculator.aspx?ArticleID=b6bf78d0-28cd-4622-ab4d-f253533dc018
اگر هم که هدف کاره دیگست...،

من هم اول فکرم رفت طرف همین مسئله ولی ظاهرا .....

:
حالا به نظر شما کدوم شکل سوال بهتر بود ؟ اون که پرسیدم یا این که الان توضیح دادم ؟
:لبخندساده:
هیچ کدوم!!!
چون ظاهرا هیچ ربطی به هم ندارن یا حداقل اینکه نتونستین خوب بیان کنین

am_al_59
پنج شنبه 20 دی 1386, 18:39 عصر
نازم به ناز آن کس که ننازد به ناز خویش
ما را به ناز فروشان نیاز نیست
تا خدا بنده نوازست به بنده چه نیازست

ادامه بحث فایده ای نداره

اَرژنگ
جمعه 21 دی 1386, 04:09 صبح
:لبخندساده:

خوب دوست عزیز جنای آقای آرژنگ :لبخندساده:
امیدوارم از دست من دلخور نباشید... (( حتما" هستید.))
حالا به نظر شما کدوم شکل سوال بهتر بود ؟ اون که پرسیدم یا این که الان توضیح دادم ؟
:لبخندساده:

نه بابا دلخوری چیه!


در مورد توضیحتان، فقط بگید که چرا لازم شده که در سورس کد اینکه چیزی تعریف شده و یا نه را بدانید.
من با این احتیاج زمانیکه با برنامه نویسانه PHP که بدونه دیسیپلین برنامه مینوشتند دیده بودم، در سی شارپ این کاره استانداردی نیست. حالا اگر برنامه نویس دلش میخواد همینطوری یک چیزی ببافه و بهش بگه برنامه، خود دانند.
ولی شما هنوز اینکه با پیدا کردن ابجکت در سورس کد چه مشکلی را حل میکنید را نگفتید.

و بنابر توضیح دومتان هیچ احتیاجی برایه استفاده از سوالی که پرسیدید نیست . از توضیح دومتان میشه استنباط کرد که برنامه نویس نیستید ولی یک چیز مانند مهندسی الکترونیک دارید انجام میدید. تا جایی که دیدم مهندسهایه الکترونیک در مورد روشهایه درست برنامه نویسی هیچ چی نمیدانند و فقط هیلی پیلی یک چیزی سرهم میکنند.

در ضمن، اسپلینگ امضتان اشتباه است، به جایه full باید fool باشد

موفق باشید.
:لبخندساده: