关于C#数组函数的应用

AANAANA 2019-04-12 07:16:06
想请教个问题,就是这个二维数组用方法也就是函数怎样实现两个数组相加返回值为数组,点乘返回值为数值呢?能不能用比较基础的C#语言写下代码,这个稍微高级的语言看不太懂,在下出来乍到,因为毕设才刚开始学习程序设计,希望前辈们指点下。
...全文
325 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
mystery1000 2019-04-15
  • 打赏
  • 举报
回复
视觉里有两幅图想加的概念。
AANAANA 2019-04-13
  • 打赏
  • 举报
回复
计算下加法或者点乘
AANAANA 2019-04-13
  • 打赏
  • 举报
回复
private static int[,] Add(int[,] a, int[,] b)
{
int[,]c = new int[3,2];
for (int i = 0; i < 3; i++)
for (int j = 0; j < 2; j++)
c[i, j] = a[i, j] + b[i, j];
return Add(a, b);
就比如说像这样很基础的,后面的子函数调用输出怎样写呢?自己也只会写到这了
AANAANA 2019-04-13
  • 打赏
  • 举报
回复
谢谢了,我好好看看
  • 打赏
  • 举报
回复
[][] 这种其实是“交错数组”。.net framework 也支持真正的二维数组类型,使用 [3,4] 这类写法。你可以修改一下上述代码。
  • 打赏
  • 举报
回复
随便写一个初步的例子:
    public class Mat<T> where T : new()
    {
        public Mat(int a, int b)
        {
            this.Datas = new T[a][];
            for (var i = 0; i < a; i++)
            {
                var m = new T[b];
                this.Datas[i] = m;
                for (var j = 0; j < b; j++)
                    m[j] = default(T);
            }
        }

        private T[][] Datas;

        public Mat<T> Add(Mat<T> x, Func<T, T, T> plus)
        {
            var result = new Mat<T>(this.Datas.GetUpperBound(0) + 1, this.Datas.GetUpperBound(1) + 1);
            for (var i = 0; i <= this.Datas.GetUpperBound(0); i++)
                for (var j = 0; i <= this.Datas.GetUpperBound(1); i++)
                    result.Datas[i][j] = plus(this.Datas[i][j], x.Datas[i][j]);
            return result;
        }

        //......................
    }
你可以自己加,修改设计。
  • 打赏
  • 举报
回复
困难在于“用比较基础的C#语言写”这个要求不好做到。
  • 打赏
  • 举报
回复
当你没有需求的时候,说什么技术都意义不大,此时说技术就是为了证明“看起来不一样,看起来酷”而跟实用无关。
  • 打赏
  • 举报
回复
引用 7 楼 AANAANA 的回复:
private static int[,] Add(int[,] a, int[,] b) { int[,]c = new int[3,2]; for (int i = 0; i < 3; i++) for (int j = 0; j < 2; j++) c[i, j] = a[i, j] + b[i, j]; return Add(a, b); 就比如说像这样很基础的,后面的子函数调用输出怎样写呢?自己也只会写到这了
return c; 而不是 return Add(a,b); 学习编程的人要“开窍”,他要熟悉在没写函数实现之前先设计出来“函数调用输出”。也就是说要先知道目地是什么,而不是嗷嗷待哺地等着别人喂到嘴里。只有有饥饿感的人才能学好编程,太懒的人整天觉得别人“理论不够高大上”而反而学不到技术,因为他只看得到最底层的技术而看不到每一小步骤的目地是什么。
秋的红果实 2019-04-12
  • 打赏
  • 举报
回复
两个数组相加返回值为数组 ==> 你举个例子
stherix 2019-04-12
  • 打赏
  • 举报
回复
https://www.cnblogs.com/lcxu2/archive/2010/11/16/2004069.html 参考别人的矩阵类

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧