Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Elnata COsta

Como pegar o último valor do foreach [C#]

Recommended Posts

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?? :(

Compartilhar este post


Link para o post
Compartilhar em outros sites
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

Compartilhar este post


Link para o post
Compartilhar em outros sites
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);

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Boa tarde, pessoal.
      Espero que todos estejam bem.
       
      Seguinte:
      Tenho a seguinte consulta:
       
      $usuarios= "SELECT * FROM usuarios";
      $query= mysqli_query($conexao, $usuarios) or die ("Usuário não encontrado");
      $usuario = mysqli_fetch_array($query);
       
      Quero pegar apenas o campo 'nome' da tabela 'usuarios' e colocar todos os resultados da seguinte forma:
       
      $nomes = array("Rafael", "João", "Maria", "Pedro", "Patricia", "Camila");
       
      Agradeço desde já.
      Abs
       
       
    • Por marsolim
      Olá a todos. Venho com um probleminha para o qual não encontrei resposta. Talvez, eu não tenha sabido os termos certos para pesquisar. É o seguinte... estou tentando incluir, em uma lista array, índices com valores montados em uma variável a partir de outra array e não estou a conseguir. Atualmente, meu código é o seguinte...
      var ids = {     "joby": "track 01",     "dobby": "track 02",     "medz": "track 03",     "decks": "track 04,     "tecks": "track 05",     "assud": "track 06",     "mand": "track 07",     "daly": "track 08", }; var lstIds = []; for(i in ids){         lstIds[i] =  {         dock: ids[i],         adb: 0,         mdc: 0,         bah: 0,         tek: 0,         dep: 0,         tos: 0     }; }  
      Até aqui ok. É o que tenho no momento. O que estou querendo fazer é colocar, no lugar das linhas de adb: 0 até dep: 0, outra array que criei com esses índices, porque pode ser que eu precise adicionar mais valores e eu quero fazer isso na array nova porque vou usar ela em vários lugares e eu teria que alterar em todos se não fizer essa modificação. Fazendo ela, eu alteraria apenas nela mesmo. Então, agora, com a array nova, seria algo assim:
      var ids = {     "joby": "track 01",     "dobby": "track 01",     "medz": "track 01",     "decks": "track 01",     "tecks": "track 01",     "assud": "track 01",     "mand": "track 01",     "daly": "track 01", }; var juds = ["adb", "mdc", "bah", "tek", "dep"]; //lista nova com os valores var lstIds = []; for(i in ids){         lstIds[i] =  {         dock: ids[i],         adb: 0,         mdc: 0,         bah: 0,         tek: 0,         dep: 0,         tos: 0     }; }  
      O que eu preciso é incluir os valores de juds em lstIds. Da forma que está, não consigo fazer um for dentro do outro for para pegar esses dados e não consigo, também, criar ele fora e inserir com variável, tipo:
      var fJuds = ""; for(i in juds){     fJuds += juds[i] + ": 0,"; } for(i in ids){         lstIds[i] =  {         dock: ids[i],         fJuds // Aqui eu incluiria a variável no lugar das linhas...         tos: 0     }; }  
      Bem, o que eu queria saber mesmo é como eu poderia inserir uma variável no meio duma lista desse tipo... se é possível.
       
      Agradeço pela atenção...
    • Por Willian Simione
      Boa Noite, alguem poderia me ajudar em uma situação, estou tetnando gravar os dados da tela abaixo, porem nao estou conseguindo montar o jeito certo pra ele gravar todos os dados de uma vez

    • Por Giovanird
      Tenho uma tabela com a coluna média (valor decimal) .
       
      cod | media | cod_sala 1 1,98 5 2 2,34 2 3 1,32 5 4 2,51 3 5 1,65 1 6 2,78 5 7 4,95 4 8 0,75 4 9 1,23 1 10 1,63 2 11 1,55 3 Preciso no select MYSQL ou dentro do foreach multiplicar os valores do campo média, de acordo com o fitro por cod_sala
      Exemplo pelo cod_sala: 5
      Sendo o resultdo final: 1,98 * 1,32 * 2,78 = 7,26

      Desde já agradeço!
    • Por mateus.andriollo
      Existe uma forma de fazer um IF na select e comparar com Array de dados?
       
      algo como
       
      Select if( in_array(idCliente,'1,2,3,4,5')=true,'Tem','Não') ) as cliente Não consigo usar inner ou where pois esse array é algo q tem varias regras...
       
      Precisava saber se existe uma função assim em MySQL
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.