本文主要是介绍如何在Visual Studio中调试.NET源码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。
我一般的做法是先判断是否为null,再判断Count。
看了一下Count的源码如下:
1 [__DynamicallyInvokable] 2 public int Count 3 { 4 [__DynamicallyInvokable] 5 get 6 { 7 return _size; 8 } 9 }
Any()的源码如下:
1 [__DynamicallyInvokable]2 public static bool Any<TSource>(this IEnumerable<TSource> source)3 {4 if (source == null)5 {6 throw Error.ArgumentNull("source");7 }8 9 using (IEnumerator<TSource> enumerator = source.GetEnumerator()) 10 { 11 if (enumerator.MoveNext()) 12 { 13 return true; 14 } 15 } 16 17 return false; 18 }
测试了一下,大量数据情况下,耗时几乎都是0ms,所以应该差别不大。
有时候如果我们想在Visual Studio中单步调试.NET的源码,可以按下面的方式操作
1、调试-》选项-》常规-》取消“仅我的代码”
2、调试-》选项-》符号-》钩选Microsoft符号服务器
此时再调试时,就能单步调试.NET源码。
调试效果:
如果提示找不到某个符号,可以下载 https://github.com/dotnet/runtime.git (仅.NET Core)仓库里的源码,找到对应的文件
这篇关于如何在Visual Studio中调试.NET源码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!