[Test]
        public void OrderByDefinesTest()
        {
            var comper = new PositionComparer();
            int[] ms = { 0, 0, 9, 34, 65 };
            var os = ms.OrderBy(x => x, comper);

            foreach (var i in os)
            {
                Console.WriteLine(i);
            }

        }

        /// <summary>
        /// 排序,0排最后
        /// <remarks>x小于y时正序后x在前</remarks>
        /// </summary>
        class PositionComparer : IComparer<int>
        {
            public int Compare(int x, int y)
            {
                if (x == 0 && y > 0)
                {
                    return 1;
                }
                if (x > 0 && y == 0)
                {
                    return -1;
                }
                if (x > y)
                {
                    return 1;
                }
                if (x < y)
                {
                    return -1;
                }
                return 0;
            }
        }

  

相关文章:

  • 2021-12-14
  • 2022-01-24
  • 2022-02-16
  • 2021-06-17
  • 2021-05-22
  • 2021-07-24
  • 2022-01-12
  • 2022-02-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-23
  • 2021-06-24
  • 2021-04-29
相关资源
相似解决方案