gpt4 book ai didi

c# - Assembly.GetExecutingAssembly() 和 typeof(program).Assembly 之间的区别

转载 作者:可可西里 更新时间:2023-11-01 03:06:14 24 4
gpt4 key购买 nike

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com