Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从c中的函数返回两种不同类型的变量#_C#_Visual Studio 2010_Functional Programming - Fatal编程技术网

C# 如何从c中的函数返回两种不同类型的变量#

C# 如何从c中的函数返回两种不同类型的变量#,c#,visual-studio-2010,functional-programming,C#,Visual Studio 2010,Functional Programming,例如,我有两个函数,一个调用另一个函数: private void show() { int labeledValue; //this is to show labeled letters int[,] igmSize = labelImage(img); txtResult.Text = format(igmSize); } private int[,] labelImage(Bitmap im

例如,我有两个函数,一个调用另一个函数:

    private void show()
    {
       int labeledValue;
        //this is to show labeled letters 
        int[,] igmSize = labelImage(img);
        txtResult.Text = format(igmSize);
    }


    private int[,] labelImage(Bitmap image)
    {
        int[,] imgMatrix = new int[3, 4];
        int value;

        return imgMatrix;

    }

现在我想重新运行imgMatrixvalue到sam时间的第一个函数如何执行此操作请提供帮助

你不能;一个函数只能有一个返回值

但是,可以通过三种方式从函数中获取多个值:

  • 返回正确数据类型的
    元组
    对象。这是一个相当粗糙的方法,因为每个返回值变量的名称都是“Value1、Value2”等等

    private Tuple<int[,], int> MyMethod() { ... }
    
  • 创建一个填充的
    out
    参数

    private int[,] MyMethod(out value) { ... }
    

  • 我会选择选项(2),因为它会产生可读性最好的代码。如果
    out
    真的有意义(就像
    TryParse
    一样),那么(3)也是一个不错的选择。只做(1)如果您对难以阅读的代码感到满意。

    您是否假设您的观众只是OCR方面的专家,并且已经了解您试图实现的算法?如果不是,那么这个问题似乎遗漏了很多细节。也就是说,如果每个“连接”像素组的标签都应该相同(无论您如何定义),则似乎应该在标记连接像素组中的最后一个像素后增加该值。
    private int[,] MyMethod(out value) { ... }