c# - 如何使用 LINQ 比较 char 数组的元素?
问题描述
假设我有一个这样的数组:
char[] l = {'a', 'a', 'b', 'c'}
现在,我想要完成的是将数组的第一个元素与第二个元素进行比较,如果它们匹配,则向前移动(将第二个元素与第三个元素进行比较,依此类推),但如果它们不匹配,则取第一个元素与下一个不匹配。做类似这样的事情:
var l = l.TakeTheFirstOne((x, y) => x != y)
在这种情况下,答案应该是'a'
第二个位置的字符。
解决方案
var answer = l.Select((item, index) => new {item, index})
.FirstOrDefault(x => (x.index != l.Length - 1) && x.item != l[x.index + 1])?.item;
推荐阅读
- android - 在android studio中同步失败
- android - 反应原生 android 版本 0.57
- oracle - 如何创建检查 vlue 是否低于产品的 reorder_point 属性的更新语句
- android - 在创建用户firebase android之前检查电子邮件是否存在
- ros - 我怎样才能摆脱错误:找不到包'turtlebot_gazebo'?
- corda - 节点可以在没有状态 cordapp 的情况下签署交易吗?
- python - Matplotlib 压缩 Y-Ticks 很有用
- reactjs - 反应测试以查看组件是否返回另一个组件?
- nginx - 重定向到 www 在 Nginx 服务器上不起作用
- sql - SQL Server:根据列中的日期返回最近的记录