Assembly.GetExecutingAssembly()
和 typeof(program).Assembly
有什么区别?
最佳答案
假设 program
在执行程序集中,它们应该返回相同的值。但是,typeof(program).Assembly
应该有更好的性能,因为 Assembly.GetExecutingAssembly()
执行堆栈遍历。在我机器上的微型基准测试中,前者大约需要 20ns,而后者大约慢 30 倍,大约 600ns。
如果您控制所有代码,我认为您应该始终使用 typeof(program).Assembly
。如果您提供了其他人可以构建到他们的程序集中的源代码,您将需要使用 Assembly.GetExecutingAssembly()
。
关于c# - Assembly.GetExecutingAssembly() 和 typeof(program).Assembly 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15407340/