c# Using指令会影响对象的大小吗?
本文关键字:对象 Using 指令 影响 | 更新日期: 2023-09-27 18:02:27
换句话说,以下内容有什么区别吗?
:
using a;
using b;
using c;
public class foo {
public void doStuff() {
// do some stuff utilizing classes from a, b, and c.
}
}
与:
public class foo {
public void doStuff() {
bar.doStuff();
}
}
一起:
using a;
using b;
using c;
public static class bar {
public static void doStuff() {
// do some stuff utilizing classes from a, b, and c
}
}
假设foo是一个经常被使用和传递,经常被序列化/反序列化等的类。但是doStuff()方法很少被调用。将它分解成上面的第二/第三个片段是否有任何性能优势?
No。using
仅仅是关于您可以在出现using
声明的源文件中使用哪些简单名称。
基本上,using N;
对编译器说:"嘿,如果我在这个源文件中输入简单的名称Foo
,你在作用域中找不到任何名为Foo
的东西,你能检查名称空间N
中是否有名为Foo
的东西吗?"谢谢!
也就是说,您可以省略using
并通过它的全限定名称引用所有内容,并且您根本没有更改编译器的IL输出。
将其分解为上面的第二/第三个片段是否有任何性能优势?
根据以上解释,没有
using
指令只是一种不必限定类的方法。所以你可以用
System.Console.Beep()
using System;
Console.Beep()
但是,项目中包含的引用的程序集确实会增加总体二进制大小。