Slettet bruger
07. oktober 2005 - 13:15
Der er
14 kommentarer og 1 løsning
Fra fil til array, derefter sortering og udlæsning
Hej Eksperter, Jeg har et spørgsmål ang håndtering af arrays. Jeg læser tekst strenge ud fra en fil, for hver linie deler den linien op og udlæser dem i nogle variabler. De variabler skal jeg have indi et array, og derefter sortere arrayet. Min data kan se sådan ud: 123456;abcd;123 132322;bcde;423 142311;fsgd;244 Det læser jeg ind i nogle variabler linie for linie, læser eks linie1; Var1 = "12345"; Var2 = "abcd"; Var3 = "123"; dem skal jeg så tilføje til et array, som skal fungere som en database, altså med rækker og kolonner. Nr tekst antal 12345 abcd 123 132322 bcde 423 142311 fsgd 244 Når det er gjort skal arayet sorteres efter antal. Nr tekst antal 12345 abcd 123 142311 fsgd 244 132322 bcde 423 Er der nogle der kan hjælpe mig på vej til en løsning, eksempler er velkomne.
Annonceindlæg fra Arrow ECS
Slettet bruger
07. oktober 2005 - 13:16
#1
Alt hvad ang fillæsningen skal i ikke tænke på, har jeg styr på, det er kun arrayet.
07. oktober 2005 - 13:21
#2
stik ord: StreamReader while løkke med ReadLine Split på ; constructor af en custom klasse ArrayList Add
07. oktober 2005 - 13:21
#3
ArrayList er bedre en array da du jo ikke ved hvor mange elementer der er
Slettet bruger
07. oktober 2005 - 13:26
#4
constructor af en custom klasse ArrayList Add Må du gerne difinere det andet har jeg styr på. Og har Listen mulighed for sortering efter "antal"?
Slettet bruger
07. oktober 2005 - 13:29
#5
Forresten så det den kommer til at sortere på kommer til at se sådan her ud: 05-10-2005 12:34:40
07. oktober 2005 - 13:29
#6
public class Data { private int nr; private string tekst; private int antal; public Data() : this(0,"",0) { } public Data(int nr, string tekst, int antal) { this.nr = nr; this.tekst = tekst; this.antal = antal; } // tilføj properties med både get og set // tilføj ToString } ArrayList al = new ArrayList(); al.Add(new Data(var1,var2,var3);
07. oktober 2005 - 13:30
#7
du kan nemt sortere din ArrayList hvis din Data klasse implementerer IComparable
Slettet bruger
07. oktober 2005 - 13:31
#8
Tak, jeg kigger på det her i weekenden eller mandag, så vender jeg tilbage
07. oktober 2005 - 13:35
#9
komplet eksempel på andre data: using System; using System.Collections; public class MitObjekt : IComparable { private int etNummer; private string etNavn; public MitObjekt(int etNummer, string etNavn) { this.etNummer = etNummer; this.etNavn = etNavn; } public int EtNummer { get { return etNummer; } } public string EtNavn { get { return etNavn; } } public int CompareTo(object o) { MitObjekt mo = (MitObjekt)o; if(etNummer == mo.etNummer) { return etNavn.CompareTo(mo.etNavn); } else { return etNummer - mo.etNummer; } } public override string ToString() { return (etNummer + " " + etNavn); } } class MainClass { public static void Main(string[] args) { ArrayList list = new ArrayList(); list.Add(new MitObjekt(3, "TRE")); list.Add(new MitObjekt(2, "TO-A")); list.Add(new MitObjekt(2, "TO-C")); list.Add(new MitObjekt(2, "TO-B")); list.Add(new MitObjekt(1, "ET")); Console.WriteLine("Før sortering:"); for(int i = 0; i < list.Count; i++) { Console.WriteLine(list[i]); } list.Sort(); Console.WriteLine("Efter sortering:"); for(int i = 0; i < list.Count; i++) { Console.WriteLine(list[i]); } } }
Slettet bruger
09. oktober 2005 - 19:05
#10
Tak der, det virker - smid svar
09. oktober 2005 - 19:07
#11
svar
Slettet bruger
09. oktober 2005 - 19:34
#12
Here
Slettet bruger
09. oktober 2005 - 19:35
#13
Tilllægsspørgsmål, kan man tvinge focus nederst af en tekstboks? altså som om man scroller helt i bund, blot ved en textbox.command ?
09. oktober 2005 - 19:44
#14
beklager - jeg er ikke GUI ekspert
Slettet bruger
09. oktober 2005 - 19:53
#15
Helt ok :o)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.