我只想知道在C#类顶部包含命名空间与在程序代码中实际定义它之间的区别。
所以:
using System.Windows;
或者
System.Windows.MessageBox.Show();
将命名空间加载整个库还是只使用所需的数据?
对不起,如果看起来有点混乱。
答案 0 :(得分:4)
您需要区分命名空间和程序集。他们是非常不同的东西。
using
指令仅谈论命名空间 - 而引用MessageBox
的两种方式将产生完全相同的代码。使用产生最可读代码的代码 - 通常使用using
指令和短名称。
答案 1 :(得分:1)
第一个更容易阅读。你应该赞成可读性。我不认为有任何编译或加载的好处,如果有我在500kloc项目中没有注意到它。
答案 2 :(得分:0)
如果某些标识符不明确,请直接在语句中写入完整的命名空间。
using System.Windows.Forms;
using System.ServiceModel.Channels;
...
var msg = new Message(); // ambiguous
var msg1 = new System.Windows.Forms.Message(); // OK
var msg2 = new System.ServiceModel.Channels.Message(); // OK