带 =>这种咱理解

那该多好啊!!! 2024-07-06 13:37:11

 

    var showList = Array.ConvertAll(testerHis.BinCode, a => BinManager.BinCodeShow[a]);

我也知道 =>这是lambda表达 式,或是LINQ查询,我也知道 Array.ConvertAll(是将一种类型转换另一种类型。

可我就是不能理解 这个a是做什么的,这一段的意义。

BinCodeShow是一个字符 串数组

BinCode是整型数组

...全文
134 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

说实话代码不是这么学的,语法形式本身并不重要。你只管知道当时那个人在想什么就要,至于他写成啥其实不重要。
现在网上批谭浩强的教材,最大原因就是老谭的教材,就是一本专门讲形式的教材。
一大堆章节在那里折腾 (++i)+(i++),***p,p,*&p,char p 和char *p这种形式语法区别
问题是谁告诉你程序应该这么学,这么写的??

  • 打赏
  • 举报
回复

Array.ConvertAll(一组矩形对象,rect=>rect.X * Rect.Y);
如果你对这个不理解,我可以换成中文描述

面积计算函数=F(矩形对象rect)=>rect=>rect.X * Rect.Y
数组遍历转换函数=F(数组,转换函数)=》遍历数组,并把数组的每个元素转换函数转换一遍

最后把在两个函数代入计算

数组遍历函数(待转换的数组,代入面积计算函数)

  • 打赏
  • 举报
回复

为了便于你理解,我们假设有个矩形对象x,y属性代表宽和高,我有一组这个对象,我说你来帮我求他们的面积。
Array.ConvertAll(一组矩形对象,rect=>rect.X * Rect.Y);
这个可以理解把,定义一个函数

矩形面积=f(矩形对象)=>(矩形对象.长) * (矩形对象.高)
他没啥特别的,自变量矩形对象,面积计算公式等于长乘以高。 就是定义了一个面积计算函数。所以别想复杂了

  • 打赏
  • 举报
回复

不用理解。
如果你还记得你小学怎么解题的,我们说那就不用理解
2X+4Y=100
那么y=(100-2x)/4 对吧

切到高中知识,这东西叫什么?叫线性函数对吧
y=f(x)=100-2x)/4

好了,你可以理解了把,a => BinManager.BinCodeShow[a]
其实就是 f(a)= BinManager.BinCodeShow[a]
而b=f(a)=BinManager.BinCodeShow[a],被认为是fun(a,b)委托,也就是定义一个函数,自变量是a,因变量是b,计算方法为BinManager.BinCodeShow[a]

话说你还是过于纠结,好像以前你纠结websevice就说过,这种学法根本不对。都只是人为规定的规则,他那么规定你就那么写。就算你知道websevice那个soap的xml每个细节,对于你写程序来说根本没有意义。

这里其实也一样,纠结a=>b没有意义,他就是一个定义了一个a做自变量的函数而已。纠结这个箭头和a没有什么意义

  • 打赏
  • 举报
回复

匿名参数,a=>BinManager.BinCodeShow[a] 本质上是一个匿名委托

  • 举报
回复
@樱桃丶老丸子 请问这一段咱理解
  • 举报
回复
@那该多好啊!!! 你先看下委托,可能会便于理解,我不知道该怎么跟你解释这个东西,这个就是匿名委托,或者叫他匿名函数都可以

110,820

社区成员

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

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

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