如果需要使用索引,如何编写LINQ查询

本文关键字:何编写 LINQ 查询 索引 如果 | 更新日期: 2023-09-27 18:16:41

我有一个方法来获取关于URL源是否支持Accept-Ranges的信息。

方法是:

bool getAcceptRangeHeaderValue()
{
    for (int i = 0; i < resp.Headers.AllKeys.Count; i++)
    {
        if (resp.Headers.AllKeys[i].Contains("Range"))
            return resp.Headers[i].Contains("byte");
    }
    return false;
}

我想在LINQ中编写更短的方法。但由于索引的使用,我不能这样做。如何在LINQ中编写它?

如果需要使用索引,如何编写LINQ查询

并不是真的更短,但是如果你真的想使用LINQ,你可以这样写:

return a.Headers.AllKeys
    .Select((v, ind) =>
    new {
        HeaderName = v,
        HeaderValue = a.Headers[ind],
    })
    .Any(g => g.HeaderName.Contains("Range") && g.HeaderValue.Contains("byte"))