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.