Linq Orderby null,string.Empty, 指定字符
点击查看代码
using System;
using System.Collections.Generic;
using System.Linq;
public class Program
{
public static void Main()
{
var strL = new List<string>{"4", "2", null, "3", "1"};
Console.WriteLine("*********null**to the end*********");
Console.WriteLine(string.Join("-", strL.OrderBy(e => e is null ? 1 : 0)));
Console.WriteLine(string.Join("-", strL.OrderBy(e => e is null ? 1 : 0).ThenBy(e => e)));
Console.WriteLine(string.Join("-", strL.OrderBy(e => e is null ? 1 : 0).ThenByDescending(e => e)));
Console.WriteLine("*********null**to the start***********");
Console.WriteLine(string.Join("-", strL.OrderBy(e => e is null ? 0 : 1)));
Console.WriteLine(string.Join("-", strL.OrderBy(e => e is null ? 0 : 1).ThenBy(e => e)));
Console.WriteLine(string.Join("-", strL.OrderBy(e => e is null ? 0 : 1).ThenByDescending(e => e)));
Console.WriteLine("*********string.Empty**to the end***********");
strL = new List<string>{"4", "2", "", "3", "1"};
Console.WriteLine(string.Join("-", strL.OrderBy(e => e == string.Empty ? 1 : 0)));
Console.WriteLine(string.Join("-", strL.OrderBy(e => e == string.Empty ? 1 : 0).ThenBy(e => e)));
Console.WriteLine(string.Join("-", strL.OrderBy(e => e == string.Empty ? 1 : 0).ThenByDescending(e => e)));
Console.WriteLine("*********Specify Characters**to the end***********");
strL = new List<string>{"4", "2", "%", "3", "1"};
Console.WriteLine(string.Join("-", strL.OrderBy(e => e == "%" ? 1 : 0)));
Console.WriteLine(string.Join("-", strL.OrderBy(e => e == "%" ? 1 : 0).ThenBy(e => e)));
Console.WriteLine(string.Join("-", strL.OrderBy(e => e == "%" ? 1 : 0).ThenByDescending(e => e)));
}
}
输出:
*********null**to the end*********
4-2-3-1-
1-2-3-4-
4-3-2-1-
*********null**to the start***********
-4-2-3-1
-1-2-3-4
-4-3-2-1
*********string.Empty**to the end***********
4-2-3-1-
1-2-3-4-
4-3-2-1-
*********Specify Characters**to the end***********
4-2-3-1-%
1-2-3-4-%
4-3-2-1-%
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?