Turvenn.no
Webutvikler kurs ASP.NET, C#, CSS mm.

WebRessurs.no - Webprogrammering og ressurs innen ASP, ASP.NET, PHP, SQL, HTML, CSS, Javascript, XML, C#, VB, Flash  mm.

Brukernavn: 
Passord:

Registrèr deg Glemt passord?
Logg deg inn




  ASP.net (199)
  ASP 3.0 (111)
  PHP (30)
  HTML (66)
  SQL (89)
  CSS (46)
  XML (7)
  JavaScript (78)
  Diverse kode (13)


  Programmering (22)
  System og drift (15)
  Trafikk og inntekt (11)
  Guider og tips (22)
  Nyttig lesestoff (23)
  Web forum (604)
  Link galleri (565)


  ASP.NET kurs(5)
  CSS kurs (2)
  JQuery kurs (2)


  Øk trafikken (8)
  Facebook App. (4)
  Microsoft CEO (6)


  Server & web
  Internett & epost
  Systemverktøy
  Sikkerhet
  Fildeling
  Lyd & media
  Diverse software


  Domenesalg
  Metagenerator
  Websikre farger
  WebMail


  Bli medlem!
  Siste innlegg
  Gjestebok
  Tips en venn
  Kontakt oss
  Forsiden




Kode Artikler
Linker


Mål internetthastigheten din.


Randomize en Collection for å få tilfeldig rekkefølge

av Øyvind A. Isaksen
 
Om du har en samling (collection) med brukere som du feks skal binde til en repeater kontroll er det ikke alltid du ønsker at brukerene skal listet ut i samme rekekfølge hvber gang. Her viser vi 3 kodeeksempler på hvordan du kan stokke om på rekkefølgen i en collection ved hjelp av Random() funkjonen og generics.

----------------------------------
Metode 1, litt ytelseskrevende (10 brukere)
----------------------------------

private void button_Click(object sender, EventArgs e)
{
// prepare a list of indeces from 0 to 9 in random order
List<int> randomIndexList = new List<int>();
Random rnd = new Random();
while (randomIndexList.Count < 10)
{

int randomIndex = rnd.Next(10);
if (!randomIndexList.Contains(randomIndex))
{
randomIndexList.Add(randomIndex);
}
}
// write user in random order
foreach (int index in randomIndexList)
{
//Response.write(userCollection.Item(index).UserName);
}
}

----------------------------------
Metode 2, effektiv (10 brukere)
----------------------------------

private void button_Click(object sender, EventArgs e)
{
List<int> orderedIndexList = new List<int>();
orderedIndexList.AddRange(new int[]{0,1,2,3,4,5,6,7,8,9});

List<int> randomIndexList = new List<int>();
Random rnd = new Random();

for (int i = 0; i < 10; i++)
{
int index = rnd.Next(orderedIndexList.Count);
randomIndexList.Add(orderedIndexList[index]);
orderedIndexList.RemoveAt(index);
}
foreach (int index in randomIndexList)
{
Response.write(userCollection.Item(index).UserName);
}
}

----------------------------------
Metode 3, effektiv (dynamsik antall brukere)
----------------------------------

private void button3_Click(object sender, EventArgs e)
{

UserCollection UserCollection = UserHandler.GetUsers(10);
int numberOfUsers = UserCollection.Count;

int[] arr = new int[numberOfUsers];
for (int i = 0; i < numberOfUsers; i++)
{
arr[i] = i;
}

List<int> orderedIndexList = new List<int>();
orderedIndexList.AddRange(arr);

List<int> randomIndexList = new List<int>();
Random rnd = new Random();

for (int i = 0; i < numberOfUsers; i++)
{
int index = rnd.Next(orderedIndexList.Count);
randomIndexList.Add(orderedIndexList[index]);
orderedIndexList.RemoveAt(index);
}
foreach (int index in randomIndexList)
{
Response.write(userCollection.Item(index).UserName);
}

}

WebRessurs.no anbefaler:    StackOverflow.com | Experts-Exchange.com | W3schools | ASP.NET | Codeproject | 4Guys
WebRessurs.no er utviklet og drives av SoftMaker
Sett som startside: [ ]. Bokmerk denne siden: [ klikk ]. Sitemap. http://twitter.com/webressurs_no/. Antall brukersesjoner: 14102191.
Copyright WebRessurs.no © 2003 - 2018
Jobbsøk.no - Jobbsøknad, CV, intervju, tips og lenker