PDA

View Full Version : برگرداندن عنصر اول و آخر گروه Linq



Cosmos
چهارشنبه 03 مهر 1387, 14:44 عصر
فرض کنید آرایه ایی از جنس int مانند زیر داریم

var Nums = new int[] {1, 22, 33, 22, 2, 4, 5, 1, 2, 3, 3 , 4, 2};توسط دستورات زیر آنرا براساس خود اعداد گروه بندی نموده و براساس مقدار یکان اعداد بصورت نزولی گروه ها را Sort می نماییم

var q =
from i in Nums
group i by i
into G
orderby G.Key%10 descending
select G;حالا اگر بخواهیم تنها عنصر اول و آخر هر گروه را برگرداند باید چکار نماییم؟:متفکر:

علیرضا مداح
چهارشنبه 03 مهر 1387, 16:38 عصر
سلام دوست عزیز ،
برای برگرداندن عنصر اول باید از متد First و برای برگرداندن عنصر آخر باید از متد Last مربوط به IEnumerable<T> استفاده نمایید ،
مثالهایی از MSDN :


int[] numbers = { 9, 34, 65, 92, 87, 435, 3, 54,
83, 23, 87, 435, 67, 12, 19 };
int first = numbers.First();
Console.WriteLine(first);
/*
This code produces the following output:
9
*/




int[] numbers = { 9, 34, 65, 92, 87, 435, 3, 54,
83, 23, 87, 67, 12, 19 };
int last = numbers.Last();
Console.WriteLine(last);
/*
This code produces the following output:
19
*/

Cosmos
چهارشنبه 03 مهر 1387, 18:10 عصر
ممنون عزیز
اما این مقدمات را میدونم

اما

میخوام جستجویی را در پست اول نوشتم بدینصورت تغییر بدم که حاصل
آرایه ایی یا لیستی از گروه ها باشد که براساس خود اعداد دسته بندی
شده باشند و هر گروه هم تنها حاوی عضو اول و آخر باشد:متفکر:

shiraz.pasargad
سه شنبه 09 مهر 1387, 17:40 عصر
سلام
شما می تونین از عملگرهای عنصری ( Element Operator) استفاده کنین. این عملگرها عبارتند از:
First, Last, FirstOrDefault, LastOrDefault. این عملگرها اولین و یا آخرین عنصر موجود در هر مجموعه رو برمی گردونن.


ObjectDumper.Write(q.Last());
ObjectDumper.Write(q.First());


منبع: کتاب LINQ دز Visual C# 2008. اتنشارات ناقوس.