要让C#函数返回两个或三个double数据,一般怎么实现最好。

解决方案 »

  1.   

    结构体,Jeffrey等大师建议的方法
      

  2.   

    1 返回数组
    2 使用Out参数
      

  3.   

    三种方式:
    1.数组;
    2.ref关键字;
    3.out关键字;
      

  4.   


    private void Dosomething()
    {
       double a;
       double B;
       double C;   GetDouble(ref a,ref b, ref c);  //理解ref 很重要, 实质就是传址
    }private void GetDouble(ref double a, ref double b, ref double c)
    {
      a= a*2 ;  //要返回什么值,自已定,这只不过是例子
      b= b*2 ;
      c= c*2 ;
    }
      

  5.   

    建一个类最简单,里面什么类型都可以,不过记得要[Serializable]序列化。。
      

  6.   

    方法太多了。使用out参数使用Hashtable使用List<double> 或数组使用DataRow/DataTable使用自定义类......
      

  7.   

    void Method(out double d1,out double d3,out double d3)
    {
    }
      

  8.   

    数组,结构体,out,ref都可以实现,看个人喜好!建议用结构体!
      

  9.   

    如果数据比较复杂,写类也是个好方法。
    数量不确定用数组。
    怕麻烦就用 ref out这些关键字
      

  10.   

    如果数据比较复杂,写类也是个好方法。
    数量不确定用数组。
    怕麻烦就用 ref out这些关键字
      

  11.   

    看你着返回的内容互相之间是否有关联。如果关联性比较强(从语义的角度,两个或者三个数据有较强的关联性),那么,用结构体是个不错的选择;如果返回的三个数据之间的关系没那么强,那么用out或者ref都可以。
    比如,某函数计算坐标,并返回平面坐标系中的一个点的坐标。显然,只有x和y两个参数才能确定一个点。x和y合在一起才能描述一个点。因此,建议使用结构体。而如果是没法将两个或者多个数据归纳为某个含义的时候,则用ref或者out都应该可以。
    个人意见仅供参考。
      

  12.   

    函数参数声明为 out 或者 ref
      

  13.   

    1 返回数组 
    2 使用Out参数