我是java转过来的,因为java里如果不同包的同名类引用的时候必须加全名,否则编译不通过,example:import java.util.*;
import java.sql.*;Date  d = new Date();
过不去,必须改为java.util.Date d  = new java.util.Date();
可是在C#中,我看我两个包里有同名类,好象不需要加前缀包名,默认是取当前包里的类?

解决方案 »

  1.   

    是不是因为你的C#文件中没有using这两个命名空间?
    如果同时都using了这两个命名空间,且这两个命名空间有同名的类,你的程序又使用了这样的类,肯定会有冲突提示的!
      

  2.   

    C# 的命名空间你可以认为和 Java 的包名是一回事
    如果只是导入一个 就不需要全名了
      

  3.   

    C#与java不同这处在于,java是用import 来引入包,而.net是用using来引入命名空间,命名空间相当于java中的包,import java.sql.*相当于using System.Data
      

  4.   

    我的情况是本包CMS.OP有个 Util类CMS.Business下还有个Util类
    我写的类QueryUser
    在CMS.OP下,也using了CMS.Business,因为用其他类这时候写 Util u= new Util(); 时我看没报错,是用的本包的Util,所以才发此问  
      

  5.   

    我上面这种情况 java应该编译不过去的