再来一段挑战C#高手的JAVA代码?用C#能写出优雅的JAVA结构来吗? 感觉是可以写出来, 但有些乱.public interface FieldCache {  public static final int STRING_INDEX = -1;  public static class StringIndex {    /** All the term values, in natural order. */
    public final String[] lookup;    /** For each document, an index into the lookup array. */
    public final int[] order;    /** Creates one of these objects */
    public StringIndex (int[] values, String[] lookup) {
      this.order = values;
      this.lookup = lookup;
    }
  }}

解决方案 »

  1.   

    这里讲讲C#和JAVA里面对于InnerClass的机制的区别,在JAVA里,innerClass是可以为任何形式的,匿名的,静态的(Top level),但是在C#中innerclass都是静态的,不管你有没有定义static。
    两种语言看起来很像但是在很多机制的处理上是有区别的,如果用写java的方式来写C#那是榆木脑袋的做法。
    反问楼主一句
    string[] strArray=new string[]{"楼","主","不","摆","了"};
    foreach(string str in strArray)
    {
       Console.WriteLine(str);
    }
    这个东西在java里面你能写得出来?
      

  2.   

    C#有静态方法,C# 2.0也有静态类(相当于一个sealed abstract class)眼光不要太狭窄了,看待问题要全面
      

  3.   

    不是说C#不好, 但总体来说, C#还是不如Java成熟, 毕竟人家已经发展N年了.例如:
    Runtime.getRuntime().freeMemory()JAVA程序员可以很容易获得还有多少FREE内存, 但是C#似呼就没有了, 还得调用API函数, 真是麻烦啊.