Arbeta med data är en av de primära uppgifterna i planeringen med alla språk . Ofta måste du lagra ett programs data i ett format som enkelt kan läsas av andra program också . En av de vanligaste sättet att göra detta är genom att skriva in data i en semikolonavgränsad fil (CSV) . En CSV -fil följer ett enkelt format : varje område av data är skild från de andra genom ett komma , och varje post finns på en egen rad
Du behöver : .
Visual C # ( 2005 eller större , Express Edition kommer att räcka ) .
1 .
i Visual C # , skapar klassen som representerar de data du kommer att lagra . Detta exempel använder en riktigt enkel klass som representerar en person , med förnamn , efternamn och födelsedag :
public class Person {
privat sträng firstName ;
privat sträng lastName ;
privat DateTime årsdag;
public String FirstName {
få {return firstName ; }
mängden { firstName=värde ; }
}
public String Efternamn {
få {return lastName ; }
mängden { lastName=värde ; }
}
offentliga DateTime födelsedag {
få {return -årsdag; }
mängden { födelsedag=värde ; }
}
}
2 .
Lägg till ett ” ToCSV ”-metoden efter födelsedagen egendom deklarationen . Detta kommer att underlätta översättning från dataobjektet till CSV posten .
public String ToCSV () {
återvända firstName + ” , ” + lastName + ” , ” + birthDay. ToShortString () ;
}
3
Lägg till ett ” FromCSV ”-metoden efter ToCSV metoden . Detta gör att du kan fylla en person objekt från en CSV- sträng .
public void FromCSV ( sträng csv ) {
//Om csv är null eller tomma , gör inte någonting .
om ( String. IsNullOrEmpty ( csv )) {
återvända ,
}
string [ ] delar=csv. split ( ny char [ ] {”,”});
this. firstName=delar [ 0 ] ;
detta . lastName=delar [ 1 ] ,
this. birthDay=DateTime. Parse ( delar [ 2 ] ) .
}
4
Lägg en statisk metod för att skapa CSV-filen . Eftersom en CSV -fil innehåller flera poster , skapa denna för att arbeta med en samling ( ilist ) av Person -objekt. ( Observera att du behöver lägga till System. IO namnområde till din hjälp avsnitt , Visual Studio kommer förmodligen att lägga det åt dig , eller åtminstone låta dig lösa den via högerklicksmenyn ) .
public void CreateCSVFile ( ilist
hjälp ( StreamWriter sw=new StreamWriter (filnamn )) {
foreach ( Person p i människor ) {
sw. WriteLine ( p. ToCSV ());
}
}
}
5 .
Lägg till en annan statisk metod , ” ReadCSVFile ” efter CreateCSVFile metoden . Detta kommer att göra raka motsatsen som den tidigare metoden-det kommer att ta en CSV -fil vägen och bygga en samling ( ilist ) av objekt av personer från den.
public static ilist
hjälp ( StreamReader sr=new StreamReader (filnamn )) {
Lista
sträng curLine=sr. ReadLine () ;
medan ( curLine=! null ) {
lines. Add ( curLine ) ,
curLine=sr. ReadLine () ;
}
Lista
foreach ( sträng linje i rader ) {
Person p=new Person () ;
p. FromCSV ( linje ) ;
res. Add ( p ) ;
}
återvända res ,
}
}
tips och varningar
コメント