我之前使用以下代码来查找字符串中文本的第一次出现。
int index = myString.IndexOf("AB");
现在我将更改软件,以便它将查找列表中两个字节的第一次出现。可以用 Linq 来做吗?
编辑
该程序的目的是通过串口进行通信。以前程序使用字符串管理数据。但是处理字符串中的二进制数据很奇怪。所以我更改了程序,以便在 List<byte>
中处理数据。相反。
最佳答案
纯 LINQ:
var arr = new byte[] { 1, 2, 3, 4, 5, 6 };
var res = arr.Zip(arr.Skip(1), (a, b) => new { a, b }).Select((x, i) => new { x, i })
.FirstOrDefault(v => v.x.a == 3 && v.x.b == 4);
if (res != null)
{
Console.WriteLine(res.i);
}
关于c# - 使用 Linq 搜索两个项目的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7094383/