zoukankan      html  css  js  c++  java
  • c# 数组自定义排序

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace OrderList
    {
        class Program
        {
            public class Test
            {
                public int Id { get; set; }
                public string Name { get; set; }
            }
            private static List<Test> ListStock()
            {
                List<Test> foos = new List<Test>
                {
                    new Test
                    { 
                        Id = 0,
                        Name = "a" 
                    }, 
                    new Test
                    { 
                        Id = 0, 
                        Name = "b" 
                    },
                    new Test
                    { 
                        Id = 1,
                        Name = "c" 
                    }, 
                    new Test
                    { 
                        Id = 2, 
                        Name = "d" 
                    },
                    new Test
                    {
                        Id = 2,
                        Name = "e"
                    },
                    new Test
                    {
                        Id = 2,
                        Name = "f"
                    },
                    new Test
                    {
                        Id = 2,
                        Name = "g"
                    }
    
                };
                return foos;
            }
            static void Main(string[] args)
            {                     
                List<Test> t = ListStock();
                Console.WriteLine("排序前");
                foreach (var v in t)
                {               
                    Console.WriteLine(string.Format("Id:{0},Name:{1}", v.Id, v.Name));
                }
                Console.WriteLine("-");
                int[] orderArr = new int[] { 1,2,2,2,2,1,0,0};
                t = t.OrderBy(e =>
                {
                    var index = 0;
                    index = Array.IndexOf(orderArr, e.Id);
                    if (index != -1) { return index; }
                    else
                    {
                        return int.MaxValue;
                    }
    
                }).ToList();
              
                Console.WriteLine("排序后");
                //foreach (var v in t)
                //{
                //    Console.WriteLine(string.Format("Id:{0},Name:{1}", v.Id, v.Name));
                //}
                Console.WriteLine("-");
                t.ForEach(p =>
                {
                    Console.WriteLine(string.Format("Id:{0},Name:{1}", p.Id, p.Name));
                });
                Console.WriteLine("-");
                Console.ReadLine();
            }
        }
    }
    排序前
    Id:0,Name:a
    Id:0,Name:b
    Id:1,Name:c
    Id:2,Name:d
    Id:2,Name:e
    Id:2,Name:f
    Id:2,Name:g
    -
    排序后
    -
    Id:1,Name:c
    Id:2,Name:d
    Id:2,Name:e
    Id:2,Name:f
    Id:2,Name:g
    Id:0,Name:a
    Id:0,Name:b
    -
    

      

  • 相关阅读:
    nginx能访问html静态文件但无法访问php文件
    LeetCode "498. Diagonal Traverse"
    LeetCode "Teemo Attacking"
    LeetCode "501. Find Mode in Binary Search Tree"
    LeetCode "483. Smallest Good Base" !!
    LeetCode "467. Unique Substrings in Wraparound String" !!
    LeetCode "437. Path Sum III"
    LeetCode "454. 4Sum II"
    LeetCode "445. Add Two Numbers II"
    LeetCode "486. Predict the Winner" !!
  • 原文地址:https://www.cnblogs.com/dqh123/p/15358677.html
Copyright © 2011-2022 走看看