silfverMedlem sedan apr. 200312 679 inlägg Är det någon av er där ute som skulle kunna ge mig lite för- och nackdelar på någon av följande Collections:
- Comparer
- Queue
- BitArray
- DictionaryBase
- ReadOnlyCollectionBase
- CaseInsensitiveComparer
- CollectionBase
Jag skulle gärna behöva lite kort exempelkod också. Ungefär som den här jag gjort för ArrayList:
protected void Page_Load(object sender, EventArgs e)
{
ArrayList countries = new ArrayList();
countries.Add("none");
countries.Add("Sweden");
countries.Add("Norway");
countries.Add("Finland");
countries.Add("Iceland");
countries.Insert(1, "Hungary");
DropDownList1.DataSource=countries;
DropDownList1.DataBind();
}
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
</div>
</form>
All hjälp uppskattas!
PaceMedlem sedan juni 20019 024 inlägg Vad är det du vill veta? Du har ju i princip lagt upp de klasser som finns i System.Collections. Alla har olika användningsområden.
Läs i dokumentationen för vad respektive typ gör och exempelkod.
emissionMedlem sedan dec. 19996 721 inlägg silfverMedlem sedan apr. 200312 679 inlägg
Pace skrev:
Vad är det du vill veta? Du har ju i princip lagt upp de klasser som finns i System.Collections. Alla har olika användningsområden.
Läs i dokumentationen för vad respektive typ gör och exempelkod.
Jag ska skriva en rapport om tre/fyra olika typer av collections och behöver därför lite information om dem - samt lite exempelkod på hur de kan användas.
emission skrev:
Comparer-klasserna är inte collections.
I övrigt...
http://msdn2.microsoft.com/en-us/library/system.collections.aspx
Okay! Men den där länken kan nog vara till användning. Informationen går inte att få på svenska?
Ni har inte lust att ge mig lite enkla exempel på hur man kan använda någon av dem också?
Hashtable och SortedList ska också ingå i listan där uppe.
GladhMedlem sedan maj 20012 812 inlägg
silfver skrev:
Jag ska skriva en rapport om tre/fyra olika typer av collections och behöver därför lite information om dem - samt lite exempelkod på hur de kan användas
Ni har inte lust att ge mig lite enkla exempel på hur man kan använda någon av dem också?
För 800 kronor exkl moms / timme, kan jag skriva rapporten till dig om du vill!!!!
Om det är meningen att du skall göra en rapport så blir den bra mycket bättre om du själv gräver ner dig i dokumentationen, sätter dig in i hur de olika collections fungerar (koda, koda, koda) och sedan sammanfattar de med egna ord. Dessutom så lär du dig bra så mycket mer än om du bara "snor" informationen från någonannan. Men visst det tar tid, men du har ju hela helgen på dig ;)
- M
Oj läste inte alls...
En hint är ju att vissa listor är långsammare på att söka, visa är långsammare på insättningar av objekt osv osv.
silfverMedlem sedan apr. 200312 679 inlägg
Gladh skrev:
silfver skrev:
Jag ska skriva en rapport om tre/fyra olika typer av collections och behöver därför lite information om dem - samt lite exempelkod på hur de kan användas
Ni har inte lust att ge mig lite enkla exempel på hur man kan använda någon av dem också?
För 800 kronor exkl moms / timme, kan jag skriva rapporten till dig om du vill!!!!
Om det är meningen att du skall göra en rapport så blir den bra mycket bättre om du själv gräver ner dig i dokumentationen, sätter dig in i hur de olika collections fungerar (koda, koda, koda) och sedan sammanfattar de med egna ord. Dessutom så lär du dig bra så mycket mer än om du bara "snor" informationen från någonannan. Men visst det tar tid, men du har ju hela helgen på dig ;)
- M
Jag hade ju inte direkt tänkt att sno någon information någonstans, men eftersom jag själv inte kan något om C# så behöver jag ganska så mycket hjälp. Och lite kodexempel hade varit ett steg i rätt riktning.
Jaja...
silfverMedlem sedan apr. 200312 679 inlägg
Nickemannen skrev:
Oj läste inte alls...
En hint är ju att vissa listor är långsammare på att söka, visa är långsammare på insättningar av objekt osv osv.
Tack för hinten. Nu vet jag precis vad jag ska skriva.
PeddaMedlem sedan juni 20006 032 inlägg System.Collections
ArrayList
http://msdn2.microsoft.com/en-us/library/system.collections.arraylist_members(VS.90).aspx
SortedList
http://msdn2.microsoft.com/en-us/library/system.collections.sortedlist_members(VS.90).aspx
Queue
http://msdn2.microsoft.com/en-us/library/system.collections.queue_members(VS.90).aspx
Stack
http://msdn2.microsoft.com/en-us/library/system.collections.stack_members(VS.90).aspx
Hashtable
http://msdn2.microsoft.com/en-us/library/system.collections.hashtable_members(VS.90).aspx
BitArray
http://msdn2.microsoft.com/en-us/library/system.collections.bitarray_members(VS.90).aspx
StringCollection
http://msdn2.microsoft.com/en-us/library/system.collections.specialized.stringcollection_members(VS.90).aspx
StringDictionary
http://msdn2.microsoft.com/en-us/library/system.collections.specialized.stringdictionary_members(VS.90).aspx
ListDictionary
http://msdn2.microsoft.com/en-us/library/system.collections.specialized.listdictionary_members(VS.90).aspx
HybridDictionary
http://msdn2.microsoft.com/en-us/library/system.collections.specialized.hybriddictionary_members(VS.90).aspx
NameValueCollection
http://msdn2.microsoft.com/en-us/library/system.collections.specialized.namevaluecollection_members(VS.90).aspx
Det är bara att sätta igång och läsa. §e :e
PeddaMedlem sedan juni 20006 032 inlägg Kan ju även nämna några av mina favoriter och varför jag väljer just dom i vissa fall.
ArrayList - För att den går automatiskt ökar storleken allteftersom man fyller på med objekt.
SortedList - När man vill spara namn/värde par och ha dom sorterade.
Queue - First-in, First-out
Stack - Last-in, First-out
Passar bra i vissa fall att använda.
Hashtable - Bra att spara namn/värde par om man vill hämta antingen med index eller namn.
BitArray - Om man vill spara bool värden, true och false.
StringArray - Ökar automatiskt i storlek allteftersom man fyller på med strängar.
StringDictionary - Namn/värde par av strängar, hämtas med namn eller index.
silfverMedlem sedan apr. 200312 679 inlägg Tack Pedda. Det är sånt där jag vill höra. :bire
cokMedlem sedan dec. 2005664 inlägg ta en titt under namespace System.Collections.Specialized, där finns en del bra collections för vissa tillfällen.
PeddaMedlem sedan juni 20006 032 inlägg Silfver, om du kollar länkarna jag skrev så hittar du kodexempel under Methods i menyn.
Sen är det ju bra att läsa lite om dom olika och fundera på när man har nytta av dom.
Och som cok skrev så finns en del intressanta collections under System.Collections.Specialized, bl.a StringDictionary som jag senast använde mig av idag i ett projekt. :)
silfverMedlem sedan apr. 200312 679 inlägg Kan någon förklara för mig vad den här gör egentligen? Vad kan man använda den här till? Jag menar, det som står i listan är ju helt ologiskt?! One The?
using System;
using System.Collections;
public class SamplesHashtable {
public static void Main() {
// Creates and initializes a new Hashtable.
Hashtable myHT = new Hashtable();
myHT.Add( "one", "The" );
myHT.Add( "two", "quick" );
myHT.Add( "three", "brown" );
myHT.Add( "four", "fox" );
// Displays the Hashtable.
Console.WriteLine( "The Hashtable contains the following:" );
PrintKeysAndValues( myHT );
}
public static void PrintKeysAndValues( Hashtable myHT ) {
Console.WriteLine( "\t-KEY-\t-VALUE-" );
foreach ( DictionaryEntry de in myHT )
Console.WriteLine( "\t{0}:\t{1}", de.Key, de.Value );
Console.WriteLine();
}
}
/*
This code produces the following output.
The Hashtable contains the following:
-KEY- -VALUE-
two: quick
three: brown
four: fox
one: The
*/
Har ni något mer konkret man kan använda den här listan till i stället? För- och efternamn? Dagens rätt? Eller är det nåt jag missat här? :)
PhorpherMedlem sedan feb. 20002 300 inlägg
silfver skrev:
Kan någon förklara för mig vad den här gör egentligen? Vad kan man använda den här till? Jag menar, det som står i listan är ju helt ologiskt?! One The?
Har ni något mer konkret man kan använda den här listan till i stället? För- och efternamn? Dagens rätt? Eller är det nåt jag missat här? :)
Hashtabeller är bra när du vill göra snabba "lookups".
Ett exempel (om än inte världens bästa) skulle kunna vara en adressbok där Key i hashtabellen är personnamnet och Value är personuppgifterna för en person.
silfverMedlem sedan apr. 200312 679 inlägg
Phorpher skrev:
Hashtabeller är bra när du vill göra snabba "lookups".
Ett exempel (om än inte världens bästa) skulle kunna vara en adressbok där Key i hashtabellen är personnamnet och Value är personuppgifterna för en person.
Hur ska man då göra för att separera personuppgifterna? Ifall det nu är flera. Eller tänkte du bara nån kort mening eller liknande?
HashTable eller Dictionary<Tkey, TValue> sorterar sina objekt efter nycklar.
t.ex. säg att du har ett tusental personer som du enkelt och snabbt vill kunna söka upp med hjälp av ett personnummer så kan du göra såhär.
Person person = new Person();
person.Name.First = "Niclas";
person.SecurityNumber = "1999-99-01";
hashTable.Add(person.SecurityNumber, person);
Person person = HashTable["1999-99-01"] as Person;
Dictionary är samma sak som en HashTable fast den är typad.
silfverMedlem sedan apr. 200312 679 inlägg Okej, då är jag med. Och för detta ändamål är hashtable det bästa valet?
silfver skrev:
Okej, då är jag med. Och för detta ändamål är hashtable det bästa valet?
Om du har en nyckel och snabbt vill kunna hämta upp objekt utan att gå igenom en hel lista tills du hittar nyckeln så ja.
Man kanske kan jämföra det med en databas där man har en Nyckel som är indexerad.