mam tej klasyPotrzeba lepszego sposobu, aby podsumować dane
public class ConnectionResult
{
private int connectionPercentage;
public int ConnectPercentage
{
get { return connectionPercentage; }
}
public ConnectionResult(int ip)
{
// Check connection and set connectionPercentage
}
}
i mam menedżera, który dostaje kilka list ConnectionResult i liczyć każda wartość większa niż określonej liczbie ustalonej przez konfiguracji. moja implementacja jest tak:
public class CurrentConnections
{
private static CurrentConnections inst;
private CurrentConnections()
{
}
public static CurrentConnections GetInstance
{
get
{
if (inst != null)
{
inst = new CurrentConnections();
}
return inst;
}
}
public int CountActiveConnections(params List<ConnectionResult>[] conns)
{
int rtVal = 0;
foreach (List<ConnectionResult> connectionResult in conns)
{
foreach (var currConn in connectionResult)
{
if (currConn.ConnectPercentage > ACCEPTABLE_CONNECTION)
{
rtVal++;
}
}
}
return rtVal;
}
}
ale chcę zrobić to lepiej, więc zacząłem pisać je w LINQ i mam do
conns.Count(x => x.Count(y => y.ConnectPercentage > ACCEPTABLE_CONNECTION));
ale to daje mi błąd Cannot implicitly convert type 'int' to 'bool'
. czy istnieje sposób, aby to policzyć w linq lub czy muszę zostać z tym, co napisałem? Przy okazji, jestem nowy w Linq
Warto może co jeszcze wyraźniej, że będzie to rzeczywiście dać taki sam efekt ... –
@JonSkeet Dodałem ten temat do wyjaśnienia. –