用??简化if else(附带VS2010性能测试)
这里简单写下C# 的??运算符 本来这个简单的运算符没什么好说的 但这里做了下性能测试~~ 就自娱自乐的写出来 主要写下VS2010性能测试的用法~
先看下MSDN的介绍 http://msdn.microsoft.com/zh-cn/library/ms173224.aspx
先贴四个方法 字符串类型 和值类型 一般处理和 用??简化if else的处理
因为自娱自乐 随便写写 请原谅我的命名不规范吧
/// <summary>
/// 传统的字符串类型
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
private string Test1(string s)
{
if (s == null)
{
return "为null";
}
else
{
return s;
}
}
/// <summary>
/// ??的字符串类型
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
private string Test2(string s)
{
return s??"为null";
}
private int? Test3(int? i)
{
if (i == null)
{
return 0;
}
else
{
return i;
}
}
private int? Test4(int? i)
{
return i ?? 0;
}
static void Main()
{
Program p = new Program();
Console.WriteLine("开始");
//测试字符串都为空时
Console.WriteLine(p.Test1(null));
Console.WriteLine(p.Test2(null));
//测试字符串有值时
Console.WriteLine(p.Test1("123"));
Console.WriteLine(p.Test2("123"));
Console.WriteLine(1);
//测试Int都为空时
Console.WriteLine(p.Test3(null));
Console.WriteLine(p.Test4(null));
//测试Int有值时
Console.WriteLine(p.Test3(1));
Console.WriteLine(p.Test4(1));
}
OK 就这些 现在说下重点的 用VS2010 的性能测试
首先点 分析----探查器-----新建性能会话 然后启动分析
效果图如下
上面这个是非独占字节数
具体用法和分析 参考MSDN http://msdn.microsoft.com/zh-cn/library/2s0xxa1d.aspx
这个?? 有一点很不爽 只能去掉null 不能去掉“” 而我们真实的项目里一般是 string.IsNullOrEmpty 用这个 这样的话 string类型还是要加上if else的
ps: 三目运算符 和?? 都能简化 if else 但是可读性不高 能让人读懂的代码 才是最好的~~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架