随笔 - 27  文章 - 0  评论 - 909  阅读 - 49万

用??简化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  但是可读性不高  能让人读懂的代码 才是最好的~~

posted on   wlf  阅读(1450)  评论(0编辑  收藏  举报
编辑推荐:
· 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 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
< 2011年6月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 1 2
3 4 5 6 7 8 9

点击右上角即可分享
微信分享提示