PDA

View Full Version : مرتب کردن arraylist



saed2006
چهارشنبه 18 فروردین 1389, 08:59 صبح
یک ارایه دارم که هر عنصر اون شامل یک عدد و یک نام هست
میخوام این ارایه رو بر حسب عدد داخل هر عنصر به صورت صعودی مرتب کنم

exlord
چهارشنبه 18 فروردین 1389, 09:22 صبح
arr.Sort();

Vahid_moghaddam
چهارشنبه 18 فروردین 1389, 09:22 صبح
از لیست های Generic استفاده کنید.

اَرژنگ
چهارشنبه 18 فروردین 1389, 10:12 صبح
از لیست های Generic استفاده کنید.
همانی که وحید گفتند + LINQ

saed2006
چهارشنبه 18 فروردین 1389, 10:13 صبح
hashtable یا sortedlist این قابلیت رو به ما نمیده؟

اَرژنگ
چهارشنبه 18 فروردین 1389, 10:22 صبح
hashtable یا sortedlist این قابلیت رو به ما نمیده؟
در حد بخصوص چرا، ولی وقتی که با قدرت LINQ کلی قابلیتهایه بیشتری در اختیار است چرا با محدودیت کار کنیم؟

http://en.csharp-online.net/CSharp_Generics_Recipes%E2%80%94Replacing_the_Hash table_with_Its_Generic_Counterpart

saed2006
چهارشنبه 18 فروردین 1389, 10:47 صبح
ممنون جناب ارژنگ
لیست جنریک قابلیت های زیادی داره از جمله مرتب کردن
اما پروژه من با hashtable ساخته شده و الان فقط متدی میخوام که اونا رو مرتب کنه و کار تموم بشه اگه بخوام از لیست جنریک استفاده کنم کد های زیادی رو باید تغییر بدم که وقتش نیست
اگر لطف کنید و بگین hashtable رو چجوری مرتب کنم ممنون میشم

exlord
چهارشنبه 18 فروردین 1389, 10:53 صبح
hashtable قابل sort نیست ....

ArrayList entries = new ArrayList(hashtable);
entries.Sort();

saed2006
چهارشنبه 18 فروردین 1389, 10:59 صبح
hashtable قابل sort نیست ....

ArrayList entries = new ArrayList(hashtable);
entries.Sort();

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

M.YasPro
چهارشنبه 18 فروردین 1389, 11:06 صبح
سلام
ببینید توی این چیز بدرد بخوری هست
http://www.c-sharpcorner.com/UploadFile/prasoonk/HowToSortHashtable05202008034844AM/HowToSortHashtable.aspx

saed2006
چهارشنبه 18 فروردین 1389, 11:08 صبح
int min=0;
moshakhast m=new moshakhast();
Hashtable h = new Hashtable();
foreach (moshakhast item1 in DataPrj)
{
min = item1.StepNumber;
m=item1;
foreach (moshakhast item2 in DataPrj)
{
if (item2.StepNumber<min)
{
m = item2;
m = item2.StepNumber;
}
}
h.Add(m.StepNumber, m);
}
return h;

اینو نوشتم اما مشکل داره

اَرژنگ
چهارشنبه 18 فروردین 1389, 11:09 صبح
ممنون جناب ارژنگ
لیست جنریک قابلیت های زیادی داره از جمله مرتب کردن
اما پروژه من با hashtable ساخته شده و الان فقط متدی میخوام که اونا رو مرتب کنه و کار تموم بشه اگه بخوام از لیست جنریک استفاده کنم کد های زیادی رو باید تغییر بدم که وقتش نیست
اگر لطف کنید و بگین hashtable رو چجوری مرتب کنم ممنون میشم
hashtable برایه مرتب کردن استفاده نمیشه، به جاش ازSortedDictionary استفاده کنید

saed2006
چهارشنبه 18 فروردین 1389, 11:12 صبح
hashtable برایه مرتب کردن استفاده نمیشه، به جاش ازSortedDictionary استفاده کنید

منظور sortedlist هست؟

اَرژنگ
چهارشنبه 18 فروردین 1389, 11:18 صبح
منظور sortedlist هست؟
SortedDictionary(TKey, TValue)
http://msdn.microsoft.com/en-us/library/f7fta44c.aspx