腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
首页
标签
foreach
#
foreach
关注
专栏文章
(115)
技术视频
(0)
互动问答
(24)
SWIFTUI 中@Binding数组后无法在FOREACH当中使用?
0
回答
、
、
、
、
如何确定foreach循环中的第一个和最后一个迭代?
2
回答
人生的旅途
辣鸡前端
如果你的数组有唯一的数组值,那么确定第一个和最后一个元素是微不足道的: foreach($array as $element) { if ($element === reset($array)) echo 'FIRST ELEMENT!'; if ($element === end($array)) echo 'LAST ELEMENT!'; } 如果最后一个元素和第一个元素只在数组中出现一次,这会起作用,否则你会得到误报。因此,你必须比较键(他们是唯一的肯定)。 foreach($array as $key => $element) { reset($array); if ($key === key($array)) echo 'FIRST ELEMENT!'; end($array); if ($key === key($array)) echo 'LAST ELEMENT!'; } 更新:有些人担心性能和/或修改foreach循环内的数组指针。对于这些,你可以在循环之前缓存键值。 reset($array); $first = key($array); foreach($array as $key => $element) { if ($key === $first) echo 'FIRST ELEMENT!'; }...
展开详请
赞
0
收藏
0
评论
0
分享
如果你的数组有唯一的数组值,那么确定第一个和最后一个元素是微不足道的: foreach($array as $element) { if ($element === reset($array)) echo 'FIRST ELEMENT!'; if ($element === end($array)) echo 'LAST ELEMENT!'; } 如果最后一个元素和第一个元素只在数组中出现一次,这会起作用,否则你会得到误报。因此,你必须比较键(他们是唯一的肯定)。 foreach($array as $key => $element) { reset($array); if ($key === key($array)) echo 'FIRST ELEMENT!'; end($array); if ($key === key($array)) echo 'LAST ELEMENT!'; } 更新:有些人担心性能和/或修改foreach循环内的数组指针。对于这些,你可以在循环之前缓存键值。 reset($array); $first = key($array); foreach($array as $key => $element) { if ($key === $first) echo 'FIRST ELEMENT!'; }
对于IEnumerable <T>的foreach相当于LINQ?
2
回答
、
、
嗨喽你好
摩羯座
你可以使用FirstOrDefault()可用的扩展名IEnumerable<T>。通过false从谓词返回,它将为每个元素运行,但不会在乎它实际上找不到匹配。这将避免ToList()开销。 IEnumerable<Item> items = GetItems(); items.FirstOrDefault(i => { i.DoStuff(); return false; });...
展开详请
赞
0
收藏
0
评论
0
分享
你可以使用FirstOrDefault()可用的扩展名IEnumerable<T>。通过false从谓词返回,它将为每个元素运行,但不会在乎它实际上找不到匹配。这将避免ToList()开销。 IEnumerable<Item> items = GetItems(); items.FirstOrDefault(i => { i.DoStuff(); return false; });
你如何获得foreach循环的当前迭代的索引?
2
回答
、
Dust
资深服务器虚拟化工程师。
解决方案: foreach (var item in Model.Select((value, i) => new { i, value })) { var value = item.value; var index = item.i; } 这通过使用Linq的这个重载获得item(item.value)和它的index(item.i):Select 函数[select]中的第二个参数表示源元素的索引。 该new { i, value }是创建一个新的匿名对象。...
展开详请
赞
0
收藏
0
评论
0
分享
解决方案: foreach (var item in Model.Select((value, i) => new { i, value })) { var value = item.value; var index = item.i; } 这通过使用Linq的这个重载获得item(item.value)和它的index(item.i):Select 函数[select]中的第二个参数表示源元素的索引。 该new { i, value }是创建一个新的匿名对象。
热门
专栏
私人订制
299 文章
26 订阅
搜云库技术团队
357 文章
40 订阅
韩曙亮的移动开发专栏
3.9K 文章
66 订阅
夏天的前端笔记
189 文章
25 订阅
前端达人
690 文章
48 订阅
热门
标签
更多标签
ICP备案
云服务器
对象存储
云点播
即时通信 IM
实时音视频
DNS 解析 DNSPod
内容分发网络 CDN
人脸识别
私有网络
python
java
javascript
人工智能
android
领券