1、c#中的[]除了数组的索引器外还有什么其他用法?
2、从0-9中取出两个三位数相加得到一个四位数(*** + *** = ****)的最佳算法。其中这两个三位数不能出现重复数据.

解决方案 »

  1.   

    ????[DllImport("my.dll")]
    public static extern void HelloWorld();
      

  2.   

    extern 修饰符用于声明在外部实现的方法。extern 修饰符的常见用法是在使用 Interop 服务调入非托管代码时与 DllImport 属性一起使用;在这种情况下,该方法还必须声明为 static,如下面的示例所示:
    [DllImport("avifil32.dll")]
    private static extern void AVIFileInit();小的不才,查了一下还是不明白楼上的意思。
      

  3.   

    from MSDN方括号 ([]) 用于数组、索引器和属性,也可用于指针。
      

  4.   

    //计算的结果是 :37680
    //当然不是最优解private void Calc()
    {
        int[] Numbers = new int[1000];
        int count = 0;
        for (int i = 0; i < 1000; i++)
        {
            int a = i % 10;
            int b = (i / 10) % 10;
            int c = i / 100;
            if (a == b || a == c || b == c) continue;
            Numbers[count] = i;
            count++;                 
        }
        int[,] Expression = new int[3, (1000 * 1000) / 2]; // [0]+[1]=[2]
        int index = 0;
        for (int i = 0; i < count; i++)
            for (int j = i + 1; j < count; j++)
            {
                if (i == j) continue;
                if (Numbers[i] + Numbers[j] < 1000 ||
                    Numbers[i] + Numbers[j] >= 10000) continue;
                int a = Numbers[i] % 10;
                int b = (Numbers[i] / 10) % 10;
                int c = Numbers[i] / 100;
                int d = Numbers[j] % 10;
                int e = (Numbers[j] / 10) % 10;
                int f = Numbers[j] / 100;
                if (a == b || a == c || a == d || a == e || a == f || a == d ||
                    b == c || b == d || b == e || b == f || b == d || c == d ||
                    c == e || c == f || c == d || d == e || d == f || e == f || 
                    e == d || f == d)
                    continue;
                Expression[0, index] = Numbers[i];
                Expression[1, index] = Numbers[j];
                Expression[2, index] = Numbers[i] + Numbers[j];
                if (index < 1000)
                    Console.WriteLine("{0}+{1}={2}", Expression[0, index], 
                    Expression[1, index], Expression[2, index]);
                index++;
            }
    }
      

  5.   

    谢谢大家了。
    题目就是这样,因为是招oracle开发的,所以编程这方面考得不难。