| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2403 人关注过本帖
标题:方法返回不同类型的值
只看楼主 加入收藏
sjm_sun
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2018-10-16
收藏
 问题点数:0 回复次数:2 
方法返回不同类型的值
public struct individuals
    {
        public double[] fitness;
        public double[,] chrom;
        
    }
    class Program
    {
        static double[] SUM(double[] a,double[,] b,int c,int d ,out double[,] e)
        {
            e = new double[c, d];
            for (int i = 0; i < c; i++)
                for(int j=0;j< d;j++)
            {
                    e[i, j] = b[i, j];
            }
        return a  ;
            
        }
        static void Main(string[] args)
        {
            individuals L = new individuals();
            L.fitness=new double[6];
            for (int i = 0; i < 6; i++)
            { L.fitness[i] = 0.1 * i;
            }
           
            L.chrom = new double[,] { { 1, 2, 3 }, { 1, 2, 3 }, { 1, 2, 3 }, { 1, 2, 3 }, { 1, 2, 3 }, { 1, 2, 3 } };
           
           SUM(L.fitness,L.chrom,6,3,out double[,] e);

           
        }
    }
}
我要返回结构individuals
他的内容有一个一维数组(1行6列)fitness和一个二维数组(6行3列)chrom,
我想写一个方法直接返回结构体individuals或者同时返回fitness和chrom
搜索更多相关主题的帖子: 方法 返回 double int new 
2018-10-16 11:15
happyhorseCS
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2017-12-16
收藏
得分:0 
方法返回值只有一个,可以直接返回结构,也可以用Out,或ref输出,这样可以相当于输出两个值。
你试试、
2018-11-18 21:13
oldSlave
Rank: 2
等 级:论坛游民
威 望:1
帖 子:8
专家分:25
注 册:2017-9-19
收藏
得分:0 
程序代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace consoleTest01
{
    public struct individuals
    {
        public double[] fitness;
        public double[,] chrom;

    }
    class Program
    {
        private static individuals getIndividuals()
        {
            individuals L = new individuals();
            L.fitness = new double[6];
            for (int i = 0; i < 6; i++)
            {
                L.fitness[i] = 0.1 * i;
            }

            L.chrom = new double[,] { { 1, 2, 3 }, { 1, 2, 3 }, { 1, 2, 3 }, { 1, 2, 3 }, { 1, 2, 3 }, { 1, 2, 3 } };
            return L;

        }
        static double[] SUM(double[] a, double[,] b, int c, int d, out double[,] e)
        {
            e = new double[c, d];
            for (int i = 0; i < c; i++)
                for (int j = 0; j < d; j++)
                {
                    e[i, j] = b[i, j];
                }
            return a;

        }
        static void Main(string[] args)
        {
            individuals L=getIndividuals();
            int i = 6;
            int j = 3;
            double[,] e=new double[i,j];
            var result = SUM(L.fitness,L.chrom,i,j, out e);
            foreach (double d in result) 
            {
                Console.WriteLine(d);
            }
        }
        
    }
}
2019-01-08 08:51
快速回复:方法返回不同类型的值
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019381 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved