如何将文件循环转换为LINQ?

rpc*_*sir 1 c# linq for-loop

我有如下方法:

public static GatewayClient GetCurGwClient(System.Net.IPAddress gwIP)
{
    for (int i = 0; i < listKateApiObjcts.Count; i++)
    {
        if (listKateApiObjcts[i].CurrentGatewayClient.Gateway.IpAddress.ToString() == 
            gwIP.ToString())
        {
            return listKateApiObjcts[i].CurrentGatewayClient;
        }
    }

    return null;
}
Run Code Online (Sandbox Code Playgroud)

我想使用LINQ来简化这段代码,但是我做不到。

Dmi*_*nko 6

您正在寻找FirstOrDefault

 public static GatewayClient GetCurGwClient(System.Net.IPAddress gwIP) { 
   return listKateApiObjcts
     .Select(item => item.CurrentGatewayClient) 
     .FirstOrDefault(client => client.Gateway.IpAddress.ToString() == gwIP.ToString());
 }
Run Code Online (Sandbox Code Playgroud)