C# metodit



C# metodit

C# on ohjelmointikieli, joka perustuu objekti-suuntautuneeseen paradigmaan. Tässä kielessä metodeita käytetään toimintojen ja laskelmien suorittamiseen, ja ne ovat osa luokkia tai rajapintoja. C#-kieleen liittyviä metodeja on paljon, joten tässä on vain joitakin yleisesti käytettyjä metodeita ja niiden lyhyt kuvaus.


Päämetodi (Main):

Sovelluksen tärkein metodi, joka on sovelluksen aloituskohta. Se määritellään seuraavasti:

static void Main(string[] args)


Päämetodi (Main) on C#-ohjelmien aloituskohta. Se on ohjelman ensimmäinen suoritettava metodi, ja se käynnistyy automaattisesti, kun ohjelma käynnistetään. Main-metodi sijaitsee yleensä luokassa, joka on määritelty tiedostossa nimeltä Program.cs (tai jossain muussa tiedostossa, mutta Program.cs on yleisesti käytetty nimeämiskäytäntö).

Main-metodin eri syntaksit:


Main-metodin on oltava julkinen (public) ja staattinen (static), jotta ohjelma voi käyttää sitä suoritusympäristöstä käsin.

Main-metodin palautusarvo voi olla joko void tai int. Jos palautusarvo on int, voit palauttaa kokonaisluvun pääohjelmasta ilmaisemaan ohjelman suorituksen tilan (0 yleensä tarkoittaa normaalia suoritusta, kun taas muut arvot voivat tarkoittaa virhetilanteita).

C# 7.1 ja sitä uudemmissa versioissa Main-metodi voi olla asynkroninen (async), joka palauttaa Task tai Task<int>.

C# 9.0 ja sitä uudemmissa versioissa voit käyttää "top-level statements", joka sallii ohjelmakoodin kirjoittamisen ilman erillisen luokan ja Main-metodin määrittämistä. Tämä yksinkertaistaa syntaksia ja tekee ohjelman kirjoittamisesta suoraviivaisempaa.

Main-metodi saa parametrina merkkijonotaulukon (string[] args), joka sisältää komentoriviparametrit, joita ohjelmaan on annettu käynnistettäessä. Voit käsitellä näitä parametreja ohjelman suorituksen aikana, esimerkiksi määrittämällä ohjelman käyttäytymisen tai lukemalla tiedostopolkuja tai asetuksia.

Main-metodin sisällä voit kutsua muita metodeja, luoda ja käyttää oliota, toteuttaa ohjelman logiikkaa ja suorittaa mitä tahansa muuta tehtävää, joka on tarpeen ohjelman toiminnan kannalta. Kun Main-metodi päättyy (joko ohjelman suorituksen päättyessä tai sen palauttaessa arvon), ohjelman suoritus päättyy, ja resurssit vapautetaan.

Montako komentoriviparametria on annettu.
args.Length


Tulosta kaikki komentoriviparametrit:
foreach (string arg in args)
            {
                Console.WriteLine(arg);
            }


C#-ohjelmien Main-metodi on keskeinen käsite, joka mahdollistaa ohjelmien suorittamisen ja käynnistää niiden toiminnallisuuden. Main-metodin avulla voit hallita ohjelman käyttäytymistä, käsitellä komentoriviparametreja, kutsua muita metodeja ja suorittaa erilaisia tehtäviä tarpeen mukaan.



ToString():

ToString() on metodi, joka on peräisin System.Object-luokasta ja joka on käytettävissä kaikille .NET-objekteille. Tämä metodi palauttaa objektin merkkijonomuotoisen esityksen. Oletusarvoisesti ToString()-metodi palauttaa objektin täyden tyyppinimen, mikä ei välttämättä ole kovin hyödyllistä käyttäjän kannalta. Tästä syystä on suositeltavaa ylikirjoittaa (override) ToString()-metodi, kun määrittelet omia luokkia, jotta voit tarjota merkityksellisen merkkijonomuotoisen esityksen objekteille.


Ylikirjoittaaksesi ToString()-metodin omassa luokassasi, voit käyttää "override" -avainsanaa ja määritellä uuden toteutuksen ToString()-metodille. Tässä on esimerkki yksinkertaisesta C#-luokasta, joka ylikirjoittaa ToString()-metodin:


Tässä esimerkissä Henkilo-luokan ToString()-metodi on ylikirjoitettu palauttamaan merkkijono, joka sisältää henkilön etunimen, sukunimen ja iän. Nyt kun kutsut Henkilo-objektin ToString()-metodia, saat mielekkään merkkijonomuotoisen esityksen objektista:



Ylikirjoittamalla ToString()-metodin voit tarjota mukautetun merkkijonomuotoisen esityksen objekteille, mikä voi olla hyödyllistä lokitukseen, virheilmoituksiin, käyttöliittymän näyttämiseen tai muihin tarkoituksiin, joissa objektien tiedot on esitettävä selkeästi ja ymmärrettävästi. ToString()-metodi on yleinen käytäntö, joka tekee C#-luokista helpommin käytettäviä ja ylläpidettäviä.




GetHashCode():

Hajautuskoodi (hash code) on kokonaislukuarvo, joka edustaa objektin tilaa ja on tarkoitettu objektien nopeaan vertailuun ja tallentamiseen hajautetussa tietorakenteessa. Hajautuskoodit on suunniteltu niin, että kaksi samanlaista objektia (samat kentät ja arvot) tuottavat saman hajautuskoodin. Hajautuskoodin perusajatus on, että kahden eri objektin vertailu on paljon nopeampaa hajautuskoodien perusteella kuin tarkistamalla kaikki objektin kentät ja arvot yksitellen.

On tärkeää huomata, että hajautuskoodien generointi ei ole täydellistä. On mahdollista, että kaksi erilaista objektia voi tuottaa saman hajautuskoodin. Tämä tilanne tunnetaan nimellä hajautus törmäys (hash collision) ja voi aiheuttaa tehokkuusongelmia hajautetussa tietorakenteessa. Hyvä hajautusfunktio pyrkii vähentämään törmäysten määrää ja jakamaan hajautuskoodit tasaisesti eri arvojen kesken.

C#-ohjelmoinnissa GetHashCode()-metodi tuottaa objektin hajautuskoodin. GetHashCode() on peräisin System.Object-luokasta ja on käytettävissä kaikille .NET-objekteille. Oletuksena GetHashCode()-metodi käyttää objektin muistiosoitetta hajautuskoodin laskemiseen, mutta se ei ole optimaalinen ratkaisu useimmissa tapauksissa. Tästä syystä on suositeltavaa ylikirjoittaa (override) GetHashCode()-metodi, kun määrittelet omia luokkia, jotta voit tarjota paremman hajautuskoodin, joka perustuu objektin tilaan.

Hajautuskoodien käyttö on oleellista, kun käytetään hajautettuja tietorakenteita, kuten hajautustauluja (HashSet tai Dictionary), joissa objektien tehokas tallentaminen ja nopea vertailu ovat tärkeitä suorituskyvyn ja luotettavuuden kannalta.

GetHashCode() on metodi, joka on peräisin System.Object-luokasta ja joka on käytettävissä kaikille .NET-objekteille. Tämä metodi palauttaa kokonaislukuarvon (integer), joka tunnetaan hajautuskoodina (hash code) ja joka edustaa objektin nykyistä tilaa. Hajautuskoodin tarkoitus on mahdollistaa nopea vertailu objektien välillä ja optimoida niiden tallentaminen hajautettuihin tietorakenteisiin, kuten hajautustauluihin (HashSet tai Dictionary).


Oletuksena GetHashCode()-metodi käyttää objektin muistiosoitetta laskemiseen, mikä ei ole optimaalinen ratkaisu useimmissa tapauksissa. Jos aiot käyttää objekteja hajautetussa tietorakenteessa tai vertailla niitä muihin objekteihin, on suositeltavaa ylikirjoittaa (override) GetHashCode()-metodi, jotta voit tarjota paremman hajautuskoodin, joka perustuu objektin tilaan.


Kun ylikirjoitat GetHashCode()-metodin, on tärkeää noudattaa seuraavia periaatteita:


Yhdenmukaisuus: Saman objektin tulee palauttaa sama hajautuskoodi sen elinkaaren aikana, ellet muuta objektin tilaa siten, että se vaikuttaa vertailuun.

Laatu: Kaksi erilaista objektia, jotka ovat samanlaisia vertailun kannalta, tulee tuottaa sama hajautuskoodi. Tämä ei kuitenkaan tarkoita, että kaksi erilaista objektia ei voi tuottaa samaa hajautuskoodia.

Tehokkuus: GetHashCode()-metodin tulisi olla nopea ja tuottaa hajautuskoodi, joka jakaa objektit tehokkaasti eri hajautusarvoihin.

Tässä on esimerkki C#-luokasta, joka ylikirjoittaa GetHashCode()-metodin:



Tässä esimerkissä Henkilo-luokan GetHashCode()-metodi on ylikirjoitettu laskemaan hajautuskoodi Etunimi- ja Sukunimi-kenttien perusteella. Hajautuskoodin laskemisessa käytetään perättäisiä alkulukuja, jotta saadaan tasainen hajautusarvojen jakauma.

Huomaa, että kun ylikirjoitat GetHashCode()-metodin, sinun tulee yleensä myös ylikirjoittaa Equals()-metodi, jotta objektien vertailu toimii oikein. Equals()-metodi määrittelee, milloin kaksi objektia katsotaan samanlaisiksi. Kun GetHashCode()- ja Equals()-metodit ovat yhteensopivia, hajautettujen tietorakenteiden, kuten hajautustaulujen, käyttäminen on tehokasta ja luotettavaa.

Tässä on esimerkki, jossa Henkilo-luokka ylikirjoittaa sekä GetHashCode()- että Equals()-metodit:

Tässä esimerkissä Equals()-metodi vertaa kahden Henkilo-objektin Etunimi- ja Sukunimi-kenttiä. Koska Equals()- ja GetHashCode()-metodit ovat yhteensopivia, voit käyttää Henkilo-objekteja hajautetussa tietorakenteessa, kuten Dictionary tai HashSet, tehokkaasti.


Yhteenvetona GetHashCode()-metodi on tärkeä metodi, joka mahdollistaa objektien tehokkaan käytön hajautetuissa tietorakenteissa ja vertailuissa. Oikein toteutettu GetHashCode()-metodi voi parantaa ohjelmiesi suorituskykyä ja luotettavuutta.


GetType():

GetType() on metodi, joka on peräisin System.Object-luokasta ja on käytettävissä kaikille .NET-objekteille. Tämä metodi palauttaa Type-objektin, joka kuvaa objektin tyyppiä eli sen luokkaa tai rakennetta (struct). Type-luokka on osa .NET Reflection -järjestelmää ja tarjoaa tietoa objektien tyypeistä, kuten nimi, periytyminen, jäsenet (kuten kentät, ominaisuudet, metodit ja tapahtumat) sekä niiden määritteet ja merkinnät (attributes).


GetType()-metodin avulla voit ohjelmallisesti tutkia objektien tyyppejä, tehdä dynaamisia kutsuja, manipuloida objekteja tai toteuttaa räätälöityjä toimintoja, jotka perustuvat objektin tyyppiin.

GetType()-metodi on hyödyllinen työkalu, kun tarvitset tietoa objektien tyypeistä ja niiden jäsenistä ajonaikaisesti. Vaikka sen käyttö ei ole yleistä, se voi olla arvokas erityistapauksissa, kuten tyyppien ja koodin heijastuksen, dynaamisen koodin luonnin ja joustavien sovellusten toteuttamisen kannalta.


Equals():

Equals()-metodi on yksi System.Object-luokasta periytyvä metodi, joka on saatavilla kaikille .NET-objekteille. Tämän metodin tarkoitus on verrata kahden objektin samankaltaisuutta. Oletuksena Equals()-metodi käyttää objektien vertailuun muistiosoitteita, eli se tarkistaa, viittaavatko objektien referenssit samaan muistipaikkaan. Tällöin kaksi objektia katsotaan samanlaisiksi vain, jos ne ovat itse asiassa sama objekti.


Tämä oletuskäyttäytyminen ei ole aina toivottavaa, koska usein on tarpeen verrata objektien tiloja, ei niiden referenssejä. Tämän vuoksi on suositeltavaa ylikirjoittaa Equals()-metodi omilla luokilla, jotta voit määrittää, miten objektien samankaltaisuus tulisi tarkistaa.

Kun ylikirjoitat Equals()-metodin, on tärkeää myös ylikirjoittaa GetHashCode()-metodi, jotta saat aikaan yhdenmukaisen ja johdonmukaisen vertailun objektien välillä. Muussa tapauksessa saatat kohdata odottamattomia ongelmia, kun käytät hajautettuja tietorakenteita, kuten Dictionary tai HashSet.


CompareTo():

CompareTo() on metodi, jota käytetään objektien vertailuun niiden järjestyksen määrittämiseksi. Tämä metodi on yleensä määritelty IComparable-rajapinnan kautta. Toteuttamalla IComparable-rajapinnan luokassasi voit määrittää, miten objektit tulisi lajitella tai verrata keskenään.

CompareTo()-metodi palauttaa:

Positiivisen luvun, jos nykyinen objekti on suurempi kuin verrattava objekti.

Nollan, jos objektit ovat samanarvoisia.

Negatiivisen luvun, jos nykyinen objekti on pienempi kuin verrattava objekti.

Toteuttamalla IComparable-rajapinnan voit helposti lajitella objekteja käyttäen esimerkiksi Array.Sort() tai List.Sort() -metodeja:

Yhteenvetona, CompareTo()-metodi on tärkeä metodi, jota käytetään objektien järjestyksen vertailuun.


StartsWith() ja EndsWith():

StartsWith() ja EndsWith() ovat metodeja, jotka ovat käytettävissä C#-merkkijonoille (string-tyyppi). Nämä metodit auttavat määrittämään, alkaako tai päättyykö merkkijono tietyllä alimerkkijonolla.

StartsWith()-metodi tarkistaa, alkaako merkkijono tietyllä alimerkkijonolla. Tämä metodi palauttaa true, jos merkkijono alkaa määritetyllä alimerkkijonolla, ja false, jos se ei ala.

Esimerkki StartsWith()-metodin käytöstä:




Substring():

Substring() on C#-merkkijonojen (string-tyyppi) metodi, joka palauttaa uuden merkkijonon, joka koostuu alkuperäisen merkkijonon alijoukosta. Metodi ottaa yhden tai kaksi parametria, jotka määrittelevät palautettavan alijoukon alkukohdan ja mahdollisen pituuden.

Substring() yhdellä parametrilla

Kun Substring()-metodia käytetään yhden parametrin kanssa, se palauttaa alijoukon alkukohdasta loppuun asti:

Substring() kahdella parametrilla

Kun Substring()-metodia käytetään kahden parametrin kanssa, se palauttaa alijoukon alkukohdasta ja määritellyn pituuden:



IndexOf() ja LastIndexOf(): 

IndexOf() ja LastIndexOf() ovat C#-merkkijonojen (string-tyyppi) metodeja, joita käytetään etsimään tiettyjä merkkejä tai alimerkkijonoja merkkijonosta. 

Nämä metodit palauttavat indeksin, jossa etsitty merkki tai alimerkkijono esiintyy ensimmäisen kerran (IndexOf) tai viimeisen kerran (LastIndexOf). Jos merkkiä tai alimerkkijonoa ei löydy, molemmat metodit palauttavat arvon -1



Replace(): 

Replace()-metodi on C#-merkkijonojen (string-tyyppi) metodi, jota käytetään korvaamaan merkkijonon kaikki esiintymät tietyllä merkillä tai alimerkkijonolla. Metodi palauttaa uuden merkkijonon, jossa kaikki etsityt merkit tai alimerkkijonot on korvattu määritetyllä korvaavalla merkillä tai alimerkkijonolla. Alkuperäinen merkkijono ei muutu.

Replace()-metodin käyttö:

string teksti = "Hei mitä sinulle kuuluu?";

string korvattuTeksti = teksti.Replace("?", "!");

Console.WriteLine(korvattuTeksti); // Tulostaa "Hei mitä sinulle kuuluu!"

Voit käyttää yhtä merkkiä, tai merkkijonoa.



ToUpper() ja ToLower(): 

ToUpper() ja ToLower() ovat C#-merkkijonojen (string-tyyppi) metodeja, joita käytetään muuntamaan merkkijonon kaikki merkit suuriksi kirjaimiksi (ToUpper()) tai pieniksi kirjaimiksi (ToLower()). Molemmat metodit palauttavat uuden merkkijonon, jossa kaikki alkuperäisen merkkijonon merkit on muutettu. Alkuperäinen merkkijono ei muutu.

ToUpper()

ToUpper()-metodi muuttaa merkkijonon kaikki merkit suuriksi kirjaimiksi:

string suuriksi = teksti.ToUpper();


ToLower()

ToLower()-metodi muuttaa merkkijonon kaikki merkit pieniksi kirjaimiksi:

string pieniksi = teksti.ToLower();



Trim(), TrimStart() ja TrimEnd():

Trim(), TrimStart() ja TrimEnd() ovat C#-merkkijonojen (string-tyyppi) metodeja, joita käytetään poistamaan ylimääräiset tyhjät merkit (kuten välilyönnit, tabulaattorit ja rivinvaihdot) merkkijonon alusta, lopusta tai molemmista. Kaikki metodit palauttavat uuden merkkijonon, josta ylimääräiset merkit on poistettu. Alkuperäinen merkkijono ei muutu.


Trim()

Trim()-metodi poistaa merkkijonon alusta ja lopusta kaikki tyhjät merkit:

string teksti = "***Hello word***";

string siistitty = teksti.Trim("*"); // tulostaa Hello word


TrimStart() //toimii samoin, mutta poistaa vain alusta.

TrimEnd()  //toimii samoin, mutta poistaa vain lopusta.


Math-luokan metodit:

Math-luokka on C#-standardikirjaston osa, joka tarjoaa joukon matemaattisia funktioita. Math-luokka sisältää seuraavia metodeja, joiden avulla voidaan suorittaa yleisiä matemaattisia toimintoja:



Math.Abs:

Palauttaa luvun itseisarvon.


Math.Ceiling:

Pyöristää desimaaliluvun ylöspäin lähimpään kokonaislukuun.


Math.Floor:

Pyöristää desimaaliluvun alaspäin lähimpään kokonaislukuun.


Math.Round: 

Pyöristää desimaaliluvun lähimpään kokonaislukuun.


Math.Min(luku);

Palauttaa kahdesta luvusta pienemmän.

int pienempi = Math.Min(a, b);


Math.Max(luku);

Palauttaa kahdesta luvusta suuremman.


Math.Pow(luku);

Laskee luvun eksponentin potenssiin.


 Math.Sqrt(luku);

Laskee luvun neliöjuuren.

Math.Sin, Math.Cos, Math.Tan:

Laskevat trigonometriset funktiot sin, cos ja tan annetulle kulmalle (asteina).


Math.ASin, Math.ACos, Math.ATan: 

Laskevat kulman (asteina) annetun trigonometrisen funktion arvosta.

Math.Log();

Laskee luonnollisen logaritmin annetusta numerosta.

Math.Log10();

Laskee kymmenkantaisen logaritmin annetusta numerosta.


Math.Exp();

Laskee e:n potenssiin annetun numeron.


Math.IEEERemainder();

Laskee kahden numeron jakojäännöksen IEEERemainder-toiminnolla.


Math.Sign();

Palauttaa numeron etumerkin. Jos numero on positiivinen, palautetaan 1. Jos numero on negatiivinen, palautetaan -1. Jos numero on 0, palautetaan 0.


Math.Atan2();

Laskee arkustangentin annetuista x- ja y-koordinaateista. Tämä toiminto on hyödyllinen esimerkiksi kahden pisteen välisen kulman laskemiseen.


Math.Truncate();

Poistaa desimaaliosan numerosta, jolloin jäljelle jää vain kokonaisosa.


Math.Cosh, Math.Sinh ja Math.Tanh:

Laskevat hyperboliset kosini, sini ja tangentin annetusta numerosta.


Math.PI();

Arvo π (pi) eli ympyrän kehän suhde sen halkaisijaan, noin 3.14159.


Math.E();

Neperin luku e eli luonnollisen logaritmin kantaluku, noin 2.71828.



DateTime-luokan metodit:


Split():

Split() on C#-merkkijonon (string) metodi, joka jakaa merkkijonon osiin annettujen erotinmerkkien perusteella. Tuloksena on taulukko (array) merkkijonoista. Split()-metodia käytetään usein tekstin ja datan käsittelyyn ja analysointiin.

string lause = "Tämä on esimerkki, jossa käytetään Split()-metodia.";

char[] erotinmerkit = { ' ', ',', '.' };

string[] sanat = lause.Split(erotinmerkit, StringSplitOptions.RemoveEmptyEntries);


Join():

Join() on C#-merkkijonojen (string) käsittelyyn liittyvä metodi, joka yhdistää taulukon (array) tai kokoelman (collection) merkkijonoista yhdeksi merkkijonoksi, käyttäen määriteltyä erotinmerkkijonoa jokaisen osan välissä. Join()-metodi on staattinen ja kuuluu String-luokkaan.


Array-luokan metodit:

Sort(): 

Järjestää taulukon alkiot nousevaan järjestykseen.

int[] numerot = { 5, 2, 8, 1, 3 };

Array.Sort(numerot); // numerot: { 1, 2, 3, 5, 8 }


Reverse(): 

Kääntää taulukon alkiot toisinpäin.

int[] numerot = { 1, 2, 3, 4, 5 };

Array.Reverse(numerot); // numerot: { 5, 4, 3, 2, 1 }


IndexOf():

Etsii taulukosta ensimmäisen esiintymän annetusta arvosta ja palauttaa sen indeksin. Jos arvoa ei löydy, palauttaa -1.

int[] numerot = { 1, 2, 3, 4, 5 };

int indeksi = Array.IndexOf(numerot, 3); // indeksi: 2


LastIndexOf():

Etsii taulukosta viimeisen esiintymän annetusta arvosta ja palauttaa sen indeksin. Jos arvoa ei löydy, palauttaa -1.

int[] numerot = { 1, 2, 3, 4, 5, 3 };
int indeksi = Array.LastIndexOf(numerot, 3); // indeksi: 5


Clear():

Asettaa taulukon tietyn osan arvot oletusarvoiksi (0 numeerisille arvoille, false Boole-arvoille ja null-viitteille).

int[] numerot = { 1, 2, 3, 4, 5 };

Array.Clear(numerot, 1, 3); // numerot: { 1, 0, 0, 0, 5 }



Resize():

Muuttaa taulukon kokoa luomalla uuden taulukon ja kopioimalla alkuperäisen taulukon alkiot siihen.

int[] numerot = { 1, 2, 3, 4, 5 };

Array.Resize(ref numerot, 7); // numerot: { 1, 2, 3, 4, 5, 0, 0 }


Copy():

Kopioi taulukon osan toiseen taulukkoon.

int[] numerot1 = { 1, 2, 3, 4, 5 };

int[] numerot2 = new int[5];

Array.Copy(numerot1, numerot2, numerot1.Length); // numerot2: { 1, 2, 3, 4, 5 }


FindLast():

Etsii viimeisen alkion, joka täyttää annetun ehdon (predikaatin), ja palauttaa sen. Jos alkioita ei löydy, palauttaa oletusarvon.

int[] numerot = { 1, 2, 3, 4, 5 };

int tulos = Array.FindLast(numerot, x => x > 3); // tulos: 5


FindAll():

Etsii kaikki alkiot, jotka täyttävät annetun ehdon (predikaatin), ja palauttaa ne uudessa taulukossa.

int[] numerot = { 1, 2, 3, 4, 5 };

int[] tulos = Array.FindAll(numerot, x => x > 2); // tulos: { 3, 4, 5 }


Exists(): 

Tarkistaa, onko taulukossa ainakin yksi alkio, joka täyttää annetun ehdon (predikaatin).

int[] numerot = { 1, 2, 3, 4, 5 };

bool onOlemassa = Array.Exists(numerot, x => x > 4); // onOlemassa: true


TrueForAll():

Tarkistaa, täyttävätkö kaikki taulukon alkiot annetun ehdon (predikaatin).

int[] numerot = { 2, 4, 6, 8, 10 };

bool kaikkiParillisia = Array.TrueForAll(numerot, x => x % 2 == 0); // kaikkiParillisia: true



List-luokan metodit:

List-luokka tarjoaa metodeja dynaamisten taulukoiden (kokoelmien) hallintaan, kuten Add(), Remove(), RemoveAt(), Clear(), Contains(), IndexOf() ja Sort().


File-luokan metodit:

C# System.IO.File -luokka tarjoaa monia hyödyllisiä metodeja tiedostojen käsittelyyn. Tässä on joitain yleisimpiä metodeja:

ReadAllText():

Lukee tiedoston sisällön ja palauttaa sen merkkijonona.

string sisalto = File.ReadAllText("teksti.txt");


WriteAllText():

Kirjoittaa merkkijonon tiedostoon. Jos tiedosto ei ole olemassa, se luo sen. Jos tiedosto on olemassa, se korvaa sen sisällön.

File.WriteAllText("teksti.txt", "Tämä on esimerkki.");


AppendAllText():

Lisää merkkijonon tiedoston loppuun. Jos tiedosto ei ole olemassa, se luo sen.
File.AppendAllText("teksti.txt", "Tämä on lisäys.");


ReadAllLines():

Lukee tiedoston sisällön ja palauttaa sen merkkijonotaulukkona, jossa jokainen rivi on taulukon alkio.

string[] rivit = File.ReadAllLines("teksti.txt");


WriteAllLines():

Kirjoittaa merkkijonotaulukon tiedostoon, yksi rivi kerrallaan. Jos tiedosto ei ole olemassa, se luo sen. Jos tiedosto on olemassa, se korvaa sen sisällön.
string[] rivit = { "Rivi1", "Rivi2", "Rivi3" };
File.WriteAllLines("teksti.txt", rivit);


AppendAllLines(): 

Lisää merkkijonotaulukon tiedoston loppuun, yksi rivi kerrallaan. Jos tiedosto ei ole olemassa, se luo sen.
string[] lisaysRivit = { "Lisäys1", "Lisäys2" };
File.AppendAllLines("teksti.txt", lisaysRivit);


Copy():

Kopioi tiedoston uuteen sijaintiin. Voit määrittää, pitäisikö metoden korvata kohdetiedosto, jos se on jo olemassa.
File.Copy("lahde.txt", "kohde.txt", true); // true tarkoittaa, että kohdetiedosto korvataan, jos se on olemassa

Delete():

Poistaa tiedoston.
File.Delete("poistettava.txt");


Exists():

Tarkistaa, onko tiedosto olemassa.
bool onOlemassa = File.Exists("tarkistettava.txt");

Move():

Siirtää tiedoston uuteen sijaintiin ja vaihtaa sen nimeä tarvittaessa. Tämä metodi ei kopioi tiedostoa vaan siirtää sen uuteen paikkaan.
File.Move("vanha.txt", "uusi.txt");






Directory-luokan metodit:

System.IO-avaruudessa sijaitseva Directory-luokka sisältää metodeja hakemistojen käsittelyyn, kuten CreateDirectory(), Delete(), Exists(), GetFiles(), GetDirectories(), GetCurrentDirectory() ja SetCurrentDirectory().


Path-luokan metodit:

System.IO-avaruudessa sijaitseva Path-luokka sisältää metodeja polkujen ja tiedostonimien käsittelyyn, kuten GetDirectoryName(), GetFileName(), GetExtension(), GetFullPath(), Combine(), ChangeExtension() ja GetTempFileName().


Regex-luokan metodit:

System.Text.RegularExpressions-avaruudessa oleva Regex-luokka tarjoaa metodeja säännöllisten lausekkeiden käsittelyyn, kuten Match(), Matches(), IsMatch(), Replace() ja Split().


Task.Run():

Tämä metodi luo ja käynnistää uuden tehtävän, joka suorittaa annetun toiminnon. Sitä käytetään asynkronisten operaatioiden toteuttamiseen ja rinnakkaisuuden hallintaan.


Nämä ovat vain joitain C#-kieleen liittyviä metodeja, ja kattavan luettelon saamiseksi sinun tulisi tutustua C#-dokumentaatioon ja erilaisiin kirjastoihin, joita .NET Framework ja .NET Core tarjoavat.



Kommentit