本帖最后由 iuhxq 于 2013-08-31 14:46:00 编辑

解决方案 »

  1.   

    不要返回字符串。应该在C#初始化一个数组,传给e语言,e语言把结果写进去。也就是使用参数代替返回值。
      

  2.   

    发现一个奇怪问题,编译出exe,如果鼠标双击,可以运行,如果是直接用vs里“启动”就无法得到正确结果还有个问题,我换如下代码:
            [DllImport("e.dll")]
            public static extern string Receive(string s);        static void Main(string[] args)
            {
                for (int j = 0; j < 10; j++)
                {
                    Task.Factory.StartNew(() =>
                        {
                            for (int i = 0; i < int.MaxValue; i++)
                            {
                                Console.WriteLine(Receive(i.ToString()));
                                Thread.Sleep(1000);
                            }
                        }
                    );            }
                Console.Read();
            }程序运行一会就回出错