作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我过去几乎一直使用隐式类型,但自从有人告诉我使用关键字 var
是一种不好的做法后,我现在尝试使用显式类型。为此,我倾向于使用快捷键 Ctrl+。
将任何隐式类型更改为其显式类型。
然而,今天我不得不在一个 Foreach 中处理两个列表。为此,我使用了 .Zip()
方法。我尝试将其隐式类型更改为显式类型,但我做不到。我也尝试使用我提到的快捷方式,但由于某种原因没有这个选项。
var test = enemyTeam.Zip(imageList, (c, i) => new { Champion = c, Image = i });
我也试过这个隐式类型但没用:
IEnumerable<new { CurrentGameParticipant Champion, PictureBox Image }> test = enemyTeam.Zip(imageList, (c, i) => new { Champion = c, Image = i });
最佳答案
new { Champion = c, Image = i }
是匿名类型,也是 var
的全部原因关键字首先存在。
你不能给出一个明确的名字。它是匿名的。参见 Use of var keyword in C#有关原因的更多详细信息 var
存在,如何使用它。
您可能更喜欢使用值元组;例如(c, i) => (Champion: c, Image: i)
.这类似于匿名类型,但您可以使用值元组类型显式声明变量,例如 IEnumerable<(CurrentGameParticipant, PictureBox)> test;
或 IEnumerable<(CurrentGameParticipant Champion, PictureBox Image)> test;
.
关于c# - 这是什么类型的显式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68093324/
我是一名优秀的程序员,十分优秀!