PDA

View Full Version : سوال: بهترین روش تعریف یک مجموعه



odiseh
پنج شنبه 12 دی 1387, 11:23 صبح
سلام
بهترین روش تعریف یک کلاس که یک مجموعه را پیاده سازی می کند چیست؟

آیا باید از ICollection استفاده کرد یا IList یا CollectionBase یا IEnumerable ?

Mahdi.Kiani
پنج شنبه 12 دی 1387, 11:37 صبح
سلام
اصولا در برنامه نویسی بهترین روش (در معنای متعارف آن )نه وجود داره و نه معنی میده.. هر کدی که می نویسید، بسته به برنامه، سطح آن، و کاربردی که دارد، می تواند متغیر باشد.

به عنوان مثال اگر تعداد ورودی های شما کم باشد، خیلی فرقی نمی کند، که از الگوریتمی با پیچیدگی n log n استفاده کنید و یا از یک الگوریتم ساده تر ولی با پیچیدگی n^2 ..
اتفاقا در بعضی موارد بهتر است که از الگوریتم دوم استفاده شود!!!
(این یک موضوع کلی است)
موفق باشید.

odiseh
پنج شنبه 12 دی 1387, 12:27 عصر
ولی من جواب سوالم رو هنوز نگرفتم.

Amir Oveisi
پنج شنبه 12 دی 1387, 12:34 عصر
همونطور که جناب کیانی فرمودند بستگی داره به کاربردی که میخواین داشته باشه
ولی معمولا ICollection کاربرد زیادتری داره.

موفق باشید
jooje

Mehdi Asgari
پنج شنبه 12 دی 1387, 12:44 عصر
پیاده سازی System.Collections.Generic.HashSet رو دیدی ؟

odiseh
پنج شنبه 12 دی 1387, 12:54 عصر
پیاده سازی System.Collections.Generic.HashSet رو دیدی ؟

نه دوست عزیز

nasimplus
جمعه 12 تیر 1394, 15:35 عصر
یک non generic collection میخواستم
که هم int و هم string رو ذخیره کنه.

ساختارش چه شکلی هست؟



Non-Generic
ArrayList
Hashtable
SortedList
Queue
Stack
IEnumerable
IList
CollectionBase
ReadOnlyCollectionBase





لینک هایی هم پیدا کردم اما متوجه نشدم.
http://blogs.msdn.com/b/kcwalina/arc...llections.aspx (http://blogs.msdn.com/b/kcwalina/archive/2005/09/23/collections.aspx)
https://msdn.microsoft.com/en-us/library/ms379564.aspx
http://www.csharp-station.com/Tutorial/CSharp/Lesson20
https://www.simple-talk.com/blogs/20...c-collections/ (https://www.simple-talk.com/blogs/2011/10/21/some-non-generic-collections/)

این موارد زیر رو سرچ کردم متاسفانه مثالی پیدا نکردم.
non generic collection in C#‎‎‎
stack non generic collection in C#‎‎‎ with example
Queue non generic collection in C#‎‎‎ with example
Hashtable non generic collection in C#‎‎‎ with example


یک مثال میخوام که شبیه این:
Stack myStack = new Stack();
myStack.Push("Hello");
myStack.Push("World");
myStack.Push("!");
اما 2 یا چند نوع داده را ذخیره کنه نه فقط مثلا int


ساختار یک non generic collection چه شکلی هست؟

khokhan
جمعه 12 تیر 1394, 16:41 عصر
یک non generic collection میخواستم
که هم int و هم string رو ذخیره کنه.

ساختارش چه شکلی هست؟


ساختار یک non generic collection چه شکلی هست؟
حکما بایستی این تاپیک زیر خاکی رو بیرون می کشیدی ؟؟؟.... یه دونه جدیدش رو می زدی بهتر بود که !!!!!:لبخند:
یه راه اینه که لیست رو با Tuple درست کنی ..... چطوری ؟!! ..... اینطوری :


var list = new List<Tuple<string,int>>();
list.Add(new Tuple<string,int>("hello", 1));

موقع دستیابی به اونها هم می نویسی :


list[0].Item1 //Hello
list[0].Item2 //1

یه راه دیگه استفاده از دیکشنری هست :



Dictionary<string, int> d = new Dictionary<string, int>();
d.Add("string", 1);
Console.WriteLine(d["string"]);//prints 1


یه راه دیگه اینه که ابتدا متغیر هارو تعریف کنی بعد یه آرایه لیست از اون رو پر کنی :


public class MyClass
{
public String myString {get; set;}
public Int32 myInt32 {get; set;}
}
و در ادامه

var list = new List<MyClass>();
list.Add(new MyClass { myString = "hello", myInt32 = 1 });