------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
今天做了一道数组题 ,查询并排序 。看到题目的第一眼,自然而然的想到了冒泡排序,于是就使用的冒泡排序的方法。。
题目:1、将下面的数组进行如下处理:过滤掉数组中负数,将数组降序排列后在元素两边加【】后输出
int[] nums = { 1, 20, 35, 8, -20, 230, 38 }
以下是我用冒泡方法写的 。
int[] nums = { 1,20,35,8,-20,230,38};
#region
for (int i = 0; i < nums.Length - 1; i++)
{
for (int j = 0; j < nums.Length - 1 - i; j++)
{
if (nums[j] < nums[j + 1])
{
int temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
for (int i = 0; i < nums.Length; i++)
{
if (nums[i] >= 0)
{
Console.WriteLine("【{0}】", nums[i]);
}
}
#endregion
提交之后才被告知,可以使用更为简单的方法。LINQ
int[] nums = { 1, 20, 35, 8, -20, 230,38}
var m = from n in nums where n > 0 orderby n descending select n;
foreach (var n in m)
{
Console.WriteLine("【{0}】", n);
}
Console.ReaKey();
。。。 之后是关于LINQ的总结。
LINQ:语言集成查询,是一组用于C#和visua basic的语言扩展。
通过ORDERBY关键字,LINQ可以实现升序和降序的排序。LINQ还支持次要排序。LINQ默认的是升序排序,如果想使用升序排序,就要使用descending关键字。
关于排序的扩展方法有OrderBy、OrderByDescending、ThenBy、ThenByDescending和Reverse。很多LINQ的关键字和它们的扩展方法名对应,有些则是隐含的,比如你加上Descending的关键字,就会调用mathodnameByDescending的扩展方法。
LINQ的关键词:from, select, in, where, group by, orderby,……
LINQ的注意点:必须以select或者是group by 结束。
好总结结束。console.ReadKey();