PDA

View Full Version : مشکل در تعریف لیست



na3er-faraji
پنج شنبه 25 شهریور 1389, 11:19 صبح
میخاستم لبستی تعریف کنم که دو نوع فیلد داشته باشه یکی name و count که توی count تعداد name نگهداری بشه .نحوه تعریف و همچنین نحوه اضافه کردن و خواندن از اطلاعات رو میخاستم ؟؟؟

sinashahab
پنج شنبه 25 شهریور 1389, 11:30 صبح
که توی count تعداد name نگهداری بشه
این یعنی چی ؟! count رو که میشه با خاصیت count در لیست به دست آورد.

منظورتو بهتر بگو.

s.khoshfekran
پنج شنبه 25 شهریور 1389, 11:34 صبح
Dictionary<int, string> d = new Dictionary<int, string>();
Hashtable table = new Hashtable(d);

na3er-faraji
پنج شنبه 25 شهریور 1389, 11:44 صبح
منظورم از count هر اسمی بود. حالا a,b,c فرقی نمیکنه. من لیست 2 بعدی میخام . این dictionary که شما تعریف کردید همون لیست یا باز فرق داره . کسی آموزش فارسی خوب واسه اینا و تفاوتشون سراغ نداره؟؟؟

s.khoshfekran
پنج شنبه 25 شهریور 1389, 11:51 صبح
درباره HashTable در سایت مطلب زیاده!!

na3er-faraji
پنج شنبه 25 شهریور 1389, 11:52 صبح
بزارید توضیح بدم میخام چیکار کنم . یه لیست دارم که یه سری نام قراره توش ذخیره بشه. حالا میخام اگه کاربر اطلاعات تکراری وارد کرد بعدا مشخص باشه از یک نام چه تعداد وارد شده نه اینکه بیاد همون نام تکراری رو باز ته لیست اضاف کنه و بعد دستوری که بتونه هر نام به همراه تعدادی از اون نام که تو لیست ذخیره شده رو به من بده؟؟؟
--------------------

درباره HashTable در سایت مطلب زیاده!!

میدونم زیاده . اما آدم بعضی وقتا گیج میشه مثلا یه سوال میپرسی یکی میگه با آرایه انجام بده یکی میگه با List یکی میگه Dictionary یکی میگه HashTable یکی میگه... کسی میتونه تفاوت اینا رو بگه؟؟؟

s.khoshfekran
پنج شنبه 25 شهریور 1389, 12:08 عصر
شما از DataTable هم میتونی استفاده کنی و جای مانور زیادی داری!

na3er-faraji
پنج شنبه 25 شهریور 1389, 12:11 عصر
شما از DataTable هم میتونی استفاده کنی و جای مانور زیادی داری!

فک کنم شما اصلا نوشته های منو نمیخونی ؟؟؟

sinashahab
پنج شنبه 25 شهریور 1389, 13:08 عصر
فک کنم شما اصلا نوشته های منو نمیخونی ؟؟؟
خوب حرف اشتباهی هم نزد .

پیشنهاد خیلی خوبی بود.:تشویق:

na3er-faraji
پنج شنبه 25 شهریور 1389, 13:13 عصر
بابا اینجا همه زدن تو خط توضیحات تئوری. من میگم گیج شدم از بس هر کس میگه با چی کار کن باز شما میاین گزینه جدید معرفی میکنین؟؟؟

sinashahab
پنج شنبه 25 شهریور 1389, 14:24 عصر
خوب باید همه ی روش ها یی که بیان میشه رو تست کنید و ببینید کدوم بیشتر به کارتون میاد .

بعدش هم وقتی جواب میدن و یه تشکر خشک و خالی نمی کنی ، نباید بیشتر از این انتظار داشته باشی !

اَرژنگ
پنج شنبه 25 شهریور 1389, 15:06 عصر
بزارید توضیح بدم میخام چیکار کنم . یه لیست دارم که یه سری نام قراره توش ذخیره بشه. حالا میخام اگه کاربر اطلاعات تکراری وارد کرد بعدا مشخص باشه از یک نام چه تعداد وارد شده نه اینکه بیاد همون نام تکراری رو باز ته لیست اضاف کنه و بعد دستوری که بتونه هر نام به همراه تعدادی از اون نام که تو لیست ذخیره شده رو به من بده؟؟؟

چرا؟ با داتابیس کار میکنید یا اینکه این یک چیزه موقتی در حافظه قراره باشد؟
متاسفانه قبل از اینکه ما بخواهیم به تازه کارها در مورد انجام دادن یک اعمالی که به نظر ما عجیب میاد کمک کنیم اول سعی میکنیم مشکل اصلی را درک کنیم. ما میدونیم شما یک روشی را در نظرتان به عنوان راه حل میبینید ولی تجربه ما در این مورد این بوده که در ۹۰٪ موارد مشکل اصلی اشتباه درک شده.



میدونم زیاده . اما آدم بعضی وقتا گیج میشه مثلا یه سوال میپرسی یکی میگه با آرایه انجام بده یکی میگه با List یکی میگه Dictionary یکی میگه HashTable یکی میگه... کسی میتونه تفاوت اینا رو بگه؟؟؟
معمولاً List کافیه، با استفاده از Linq قدرت بیشتری هم پیدا کرده که استفاده از داتاتیبل و هش تیبلها به موارد بخصوص دیگری برمیخورد.
در حالتی که شما توزیح دادید تا اینجا استفاده از List در این مورد و ۹۵٪ موارد دیگر معمولی است و احتیاجی به اینکه از یک روش به یک روش دیگر پریده بشه نیست.
شما توزیح دادید که چی را چطوری میخواهید انجام بدید ولی نگفتید که چرا و مشکل اصلی (نه اون مشکلی که شما در ذهنتان مجسم کردید) چیه؟
--------------------

خوب باید همه ی روش ها یی که بیان میشه رو تست کنید و ببینید کدوم بیشتر به کارتون میاد .

بعدش هم وقتی جواب میدن و یه تشکر خشک و خالی نمی کنی ، نباید بیشتر از این انتظار داشته باشی !
هیچ کدام از جوابهایی که داده شده بود به تشکر نمیارزید، همینطوری جواب انداختن بدونه درک مشکل اصلی جایه تشکر ندارد.

na3er-faraji
پنج شنبه 25 شهریور 1389, 15:13 عصر
خوب باید همه ی روش ها یی که بیان میشه رو تست کنید و ببینید کدوم بیشتر به کارتون میاد .

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


بعدش هم وقتی جواب میدن و یه تشکر خشک و خالی نمی کنی ، نباید بیشتر از این انتظار داشته باشی !

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


چرا؟ با داتابیس کار میکنید یا اینکه این یک چیزه موقتی در حافظه قراره باشد؟
متاسفانه قبل از اینکه ما بخواهیم به تازه کارها در مورد انجام دادن یک اعمالی که به نظر ما عجیب میاد کمک کنیم اول سعی میکنیم مشکل اصلی را درک کنیم. ما میدونیم شما یک روشی را در نظرتان به عنوان راه حل میبینید ولی تجربه ما در این مورد این بوده که در ۹۰٪ موارد مشکل اصلی اشتباه درک شده.

اصلا من تو برنامم دیتابیس ندارم. فرض کنید برنام من اینه که یه تکست باکس وجود داره که کاربر هر سری یک نام رو وارد میکنه . تکست باکس خالی میشه و دوباره همین کار تکرار میشه . حالا یه دکمه نمایش هم وجود داه که وقتی رو اون کلیک میشه باید تعداد هر نام وتعداد دفعاتی که اون نام وارد شده نمایش داده بشه . و حتما هم باید با لیست باشه . آیا امکان پذیره. اگه آره چطوری و اگه نه باید چه کرد ؟؟؟ مثلا من ناصر رو2بار و احمد رو 3بار و محمد رو یک بار وارد کردم حالا وقتی رو دکمه نمایش کلیک میشه نام ها به همراه تعداد دفعات نمایش داده بشه.

اَرژنگ
پنج شنبه 25 شهریور 1389, 17:07 عصر
دوست عزیز اگه قرار بود هز کی یه جواب ته پست داد من یه تشکر بزنم که دیگه نیازی به این دکمه تشکر نبود . تو برنامه خود سایت این قسمت رو اضاف میکردن که هر کی هر جوابی داد یه تشکرم تهش اضاف بشه. من معمولا موقعی از دکمه تشکر استفاده میکنم که ببینم اون جواب واسه من مفیده نه اینکه من راجع به لیست سوال کردم و یکی پرید تو دیتا تیبل و یکی رفت تو هش و یکی دیگه ...


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

اگرچه اونهایی که در مورد داتاتیبل و هرچی گفتند میتونند روش لیستی را بهترین جوابی که با اون یکی روشها میتونند سرهم کنند مقایسه کنند و ما هم سود ببریم.




اصلا من تو برنامم دیتابیس ندارم. فرض کنید برنام من اینه که یه تکست باکس وجود داره که کاربر هر سری یک نام رو وارد میکنه . تکست باکس خالی میشه و دوباره همین کار تکرار میشه . حالا یه دکمه نمایش هم وجود داه که وقتی رو اون کلیک میشه باید تعداد هر نام وتعداد دفعاتی که اون نام وارد شده نمایش داده بشه . و حتما هم باید با لیست باشه . آیا امکان پذیره. اگه آره چطوری و اگه نه باید چه کرد ؟؟؟ مثلا من ناصر رو2بار و احمد رو 3بار و محمد رو یک بار وارد کردم حالا وقتی رو دکمه نمایش کلیک میشه نام ها به همراه تعداد دفعات نمایش داده بشه.
با تشکر بسیار از اینکه زمان گذاشتید و این موضوع را کامل تشریح دادید، این یک مثال خدمت شما برایه قابلیت تشریحات. (مثال ضمیمه شده)
از تجربه میگم : کسانی که قابلیت تشریح مشکلات را (به این خوبی که شما تشریح دادید) دارند، فقط از جزعیاتی بی‌اطلاعند که به مرور زمان بدست میارند ولی خصلت اصلی یک برنامه‌نویس سطح بالا شدن را کاملاً دارند.

na3er-faraji
پنج شنبه 25 شهریور 1389, 21:24 عصر
ممنون . مشکلم کاملا حل شد . همونی بود که میخاستم. ممنون از وقتی که گذاشتین.

s.khoshfekran
پنج شنبه 25 شهریور 1389, 21:25 عصر
دوست عزیز ما وظیفه ای نداریم که همه چی هلو برو تو گلو باشه ! ما راه رو نشون میدیم شما خودت باید وظیفه ی سرچشو بکشی !!!
موفق باشی!

na3er-faraji
پنج شنبه 25 شهریور 1389, 21:32 عصر
دوست عزیز ما وظیفه ای نداریم که همه چی هلو برو تو گلو باشه ! ما راه رو نشون میدیم شما خودت باید وظیفه ی سرچشو بکشی !!!
موفق باشی!

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

اَرژنگ
جمعه 26 شهریور 1389, 01:30 صبح
Dictionary<int, string> d = newDictionary<int, string>();
Hashtable table = newHashtable(d);




دوست عزیز ما وظیفه ای نداریم که همه چی هلو برو تو گلو باشه ! ما راه رو نشون میدیم شما خودت باید وظیفه ی سرچشو بکشی !!!
موفق باشی!

ولی نه دیگر در این حد، از کدی که فرستاده شد نمیشه سر و تهش را در آورد، اصلاً اینکه چی نشان میده و چچوری کمک میشه حسابش کرد واضح نیست.
اگر ممکنه با یک مثال کامل که چطوری میشه مشکلی که ایشان تعریف کردند را با کد فرستاده شده حل کرد ممنون میشم. من هم یکچیزی یاد میگیرم.
و در ضمن چرا روشهایه دیگر که بهشان اشاره شد از روشی که ایشان از همان اولش دنبالش بود بهتر هستند؟ تا جایی که من دیدم تمام روشهایی که از لیست استفاده نکردن قابلیت تمیز نگهداشتن کد را ندارند (استفاده از داتا تیبل را میدونم ولی بیجهت از یک داتاتیبل استفاده میکنه در زمانی که با یک لیست میشه به راحتی حلش کرد).