lambda linq 表达式 ListBox 的升序 降序 乱序

2020年1月9日 17:50:55

附件

https://files.cnblogs.com/files/xe2011/ListBoxSort.rar

这种方法 如果内容足够多就能看到滚动条闪烁了,我觉得这是列表框清除内容,再添加内容引起的。

用不删除列表,重新赋值的方法能解释闪烁,但过程时间又太长。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ListBoxDemo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        List<string> array = new List<string>();

        //初始化
        private void Form1_Load(object sender, EventArgs e) {
            string[] arr = { "a.m.", "a", "Smith", "Jones", "module", "zoology",
                                "youth", "Hsieh", "abdomen", "Xerox", "season",
                                "Luncheon", "transferable","macro","genuine" };
            array.AddRange(arr);

            listBox1.DataSource = array;

        }

        private void button升序_Click(object sender,EventArgs e) {
            //lambda
            var a = array.OrderBy(c => SortOrder.Ascending).ToArray();

            //linq
            //var a = from x in array orderby x ascending select x;
            listBox1.DataSource =a;
        }

        private void button降序_Click(object sender,EventArgs e) {
            //lambda
            var b = array.OrderBy(c => SortOrder.Descending).Reverse().ToArray();

            //linq
            //var a = from x in array orderby x descending select x;

            listBox1.DataSource = b;
        }

        private void button乱序_Click(object sender,EventArgs e) {
            //lambda
            //var a = array.OrderBy(c => Guid.NewGuid()).ToArray();

            //linq
            var a = from x in array orderby Guid.NewGuid()  select x;
            listBox1.DataSource = a.ToArray();
        }
    }
}

原文地址:https://www.cnblogs.com/xe2011/p/12172776.html

时间: 2024-10-13 10:43:17

lambda linq 表达式 ListBox 的升序 降序 乱序的相关文章

Linq 对string[]字符串数组进行排序 (升序、降序、乱序)

using System; using System.Collections; using System.Linq; namespace ConsoleApp1 { class Program { static void Main(string[] args) { string[] array = { "a.m.", "a", "Smith", "Jones", "module", "zoolog

Linq表达式、Lambda表达式你更喜欢哪个?

什么是Linq表达式?什么是Lambda表达式? 如图: 由此可见Linq表达式和Lambda表达式并没有什么可比性. 那与Lambda表达式相关的整条语句称作什么呢?在微软并没有给出官方的命名,在<深入理解C#>中称为点标记. 查询表达式.点标记你更喜欢哪个? 所以,我们的标题的提问根本就不合适.应该是"查询表达式和点标记你更喜欢哪个?".如: //查询表达式 var students1 = from t in db.Students where t.Name == &q

Linq表达式和Lambda表达式用法对比

什么是Linq表达式?什么是Lambda表达式?前一段时间用到这个只是,在网上也没找到比较简单明了的方法,今天就整理了一下相关知识,有空了再仔细研究研究 public Program() { List<Student> allStudent = new List<Student> { new Student("张三",23), new Student("李四",29), new Student("王二",25), new

iOS之数组的排序(升序、降序及乱序)

#pragma mark -- 数组排序方法(升序) - (void)arraySortASC{ //数组排序 //定义一个数字数组 NSArray *array = @[@(3),@(4),@(2),@(1)]; //对数组进行排序 NSArray *result = [array sortedArrayUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) { NSLog(@"%@~%@",

算法导论--装备线调度(升序&amp;&amp;降序输出)

题意就先不用讲了吧,感觉自己还没有掌握核心的东西. //心得 //怎样保持路径,递归的实现 #include<iostream> #include<cstdio> #include<vector> #include<stack> #include<cstring> using namespace std; int a[100][100];//time for station int t[100][100];//time for from Li t

javascript实现表格升序降序排列

javascript实现表格升序降序排列的步骤如下: 1,生成表格,并给各列表头添加onclick的排序响应函数 2,取得表格各行的数据,并存入临时数组 3,对该临时数组进行排序 4,利用createDocumentFragment,appendChild方法把排序好的数组转换成表格输出,至此排序完毕. 详细代码如下: 经测试可以直接使用 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht

通过LINQ表达式树动态构建查询条件

第一种方法: public static class PredicateExtensions { public static Expression<Func<T, bool>> True<T>() { return f => true; } public static Expression<Func<T, bool>> False<T>() { return f => false; } public static Expr

LINQ 表达式树

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Linq.Expressions; namespace ConsoleApplication3 {     class Program     {         static void Main(string[] args)        

LINQ to Entities 不支持 LINQ 表达式节点类型“ArrayIndex”

我就不屁话,能一张图就解决的就不说话了 2015-03-28 14:53:24,440 [10] ERROR log - System.NotSupportedException: LINQ to Entities 不支持 LINQ 表达式节点类型“ArrayIndex”. 在 System.Data.Entity.Core.Objects.ELinq.ExpressionConverter.NotSupportedTranslator.Translate(ExpressionConverter