Como iniciar uma lista de um valor específico em C #

0

Neste post, veremos como podemos iniciar uma lista a partir de um inúmeros valores específicos.

Antes de começar, vamos dar uma olhada na minha lista e de onde partiremos o nosso raciocínio:

Mas suponha, eu preciso começar o loop do valor = 4 Então, minha lista deveria ser assim:

Para alcançar o modelo acima, precisamos usar as propriedades da lista, ou seja, SkipWhile e TakeWhile

    int iStartValue = 4;  
    List<int> lstValue = new List<int>() { 1, 2, 3, 4, 5, 6, 7 };  
    var Output = lstValue.SkipWhile(x => x != iStartValue)  
    .Concat(lstValue.TakeWhile(x => x != iStartValue))  
    .ToList();  
    

Vejamos algumas ideias sobre Lista e suas propriedades como Skip, Skipwhile, Take, TakeWhile.

Exemplo:

List<int> lstValue = new List<int>() {1, 2, 3, 4, 5, 6, 7};

Nas listas, temos duas propriedades principais: Skip, SkipWhile

Skip

O método Skip() “ignora” os primeiros n elementos na sequência e retorna uma nova sequência contendo os elementos restantes após os primeiros n elementos.

SkipWhile

SkipWhile() “ignora” os elementos iniciais de uma sequência que atende aos critérios especificados pelo predicado e retorna uma nova sequência contendo o primeiro elemento que não atende os critérios, bem como quaisquer elementos que se seguem.

 

Take

O método Take() extrai os primeiros n elementos (onde n é um parâmetro para o método) desde o início da sequência de destino e retorna uma nova sequência contendo apenas os elementos.


TakeWhile

TakeWhile() se comporta de forma semelhante ao método Take(), exceto que, em vez de tomar os primeiros n elementos de uma sequência, ele “leva” todos os elementos iniciais de uma sequência que atende aos critérios especificados pelo predicado e para no primeiro elemento que não atende aos critérios. Em seguida, ele retorna uma nova sequência contendo todos os elementos “tomados”.

 

Um grande abraço a todos.

 

Compartilhe.

Sobre o autor

Criador do blog Código Simples e com mais 9 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist. Atuando em funções analista, desenvolvedor, arquiteto, líder técnico e gestor de equipes. Mais informações em : http://jhonathansoares.com