07 Abr

lista en Session con número aleatorios sin repetición en c#

El codigo amarillo es el que he utilizado y el rojo una posibilidad.
Aquí nos va a crear la lista en la variable sesion con 100 números sin ser repetidos:

Session["lista"] = Enumerable.Range(1, 100).OrderBy(n => Guid.NewGuid()).ToList();

El problema venía en que yo lo utilizaba para meter digamos en un label ese número y cuando volvía a llamar a Sessión aunque utilizaba el skip(1), siempre salía el mismo.

Hubiera tenido la opción de utilizar una variable en la que fuera aumentando , por ejemplo una variable session (numerito XD) y poner esto:

((List<int>)Session["lista"]).skip(int.Parse(Session["numerito"].toString()));

Session["numerito"]=int.Parse(Session["numerito"])+1

Creo que sería algo asi pero como no lo he hecho ajjaaj la solución que he tomado ha sido mas radical y es borrar el primer numero.

 lblcontador.Text = ((List<int>)Session["lista"]).First().ToString();

((List<int>)Session["lista"]).RemoveAt(0);

Primero he utilizado para meterlo en un label y luego borro el primer elemento…

Share this

Leave a reply