Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá a todos, eu gostaria de saber como eu posso pegar o último valor de um foreach tenho o seguinte código:
var queryCountHours = conn.Table<RelatorioDB.RelatorioTableCreate>();
string resultHours = String.Empty;
if (queryCountHours != null)
{
foreach (var item in queryCountHours)
{
var ts = TimeSpan.FromSeconds(Convert.ToDouble(item.Horas));
string hourConverted = string.Format("{0}:{1}:{2}", ts.Hours, ts.Minutes, ts.Seconds);
TimeSpan tsSun = TimeSpan.Parse(hourConverted);
TimeSpan totalHoras = totalHoras + tsSun;
Debug.WriteLine(totalHoras);
//A saída é a soma dos valores cada vez que passa pelo laço
}
}
Cada vez que eu somo a variável totalHoras ele exibe em uma linha diferente a soma anterior no Debug, mas eu gostaria de pegar apenas a última linha que é a soma total dos valores. Como eu poderia fazer isso, pegar ou exibir apenas a última linha?? :(
>
TimeSpan totalHoras = new TimeSpan();
var queryCountHours = conn.Table<RelatorioDB.RelatorioTableCreate>();
string resultHours = String.Empty;
if (queryCountHours != null)
{
foreach (var item in queryCountHours)
{
var ts = TimeSpan.FromSeconds(Convert.ToDouble(item.Horas));
string hourConverted = string.Format("{0}:{1}:{2}", ts.Hours, ts.Minutes, ts.Seconds);
TimeSpan tsSun = TimeSpan.Parse(hourConverted);
totalHoras = totalHoras + tsSun;
//A saída é a soma dos valores cada vez que passa pelo laço
}
Debug.WriteLine(totalHoras);
}
Bom dia amigo, se eu entendi bem o que você quer, você tem que declarar a variável totalHoras fora do foreach, ai depois dentro do forech você fará toda soma e por fim exibe ela fora do foreach
Funcionou ficou assim meu código:
var queryCountHours = conn.Table<RelatorioDB.RelatorioTableCreate>();
string resultHours = String.Empty;
if (queryCountHours != null)
{
foreach (var item in queryCountHours)
{
var ts = TimeSpan.FromSeconds(Convert.ToDouble(item.Horas));
string hourConverted = string.Format("{0}:{1}:{2}", ts.Hours, ts.Minutes, ts.Seconds);
TimeSpan tsSun = TimeSpan.Parse(hourConverted);
TimeSpan totalHoras = totalHoras + tsSun;
//Debug.WriteLine(totalHoras);
resultHours = totalHoras.ToString();
}
}
Debug.WriteLine(resultHours);
Bom dia amigo, se eu entendi bem o que você quer, você tem que declarar a variável totalHoras fora do foreach, ai depois dentro do forech você fará toda soma e por fim exibe ela fora do foreach