Az ellenőrzött adatbevitel mit takar c#-ban?
Köze lehet hozzá az OUT paraméternek?
Mert amelyik feladatban van, általában ez is szerepel.
Így sacra azt hogy ellenőrzi a program jó-e az adat
Pl életkor legyen szám, 0-120ig(vagy adott intervallum). Telefonszámra legyen egy regex illesztés stb
Outnak nincs sok köze hozzá
Azt jelenti, hogy a felhasználó által megadott adatokat bevitel után ellenőrizzük, hogy megfelel-e a céljainknak.
Például: ha a felhasználótól számot kérünk be, akkor leellenőrizzük, hogy a megadott érték szám-e - ha nem, akkor kiírjuk, hogy az adott érték nem szám és újból bekérjük.
google:
- input data validation
- frontend input validation
- backend input validation
Először is, a programunk több forrásból kaphat adatot:
- a legkézenfekvőbb, hogy a felhasználó írja be
- de olvashat fájlból
- hálózati kapcsolaton a programunkhoz kapcsolódhat egy másik program, ami adatot küldhet
- jöhet soros és párhuzamos porton
- és még sok más forrásból.
Szokták az iskolában tanítani tévesen, hogy az adat lehet bináris és szöveges is, de az igazság az, hogy minden adat bináris, csak értelmezhetőek szövegként, számként, képként, hangként, videóként stb. És itt tisztáznék négy fogalmat:
0) adat: olyan bájtsorozat (bájt = 8 bit), amely ember vagy program számára érthető információt hordoz
1) adatbevitel: a program valamilyen forrásból olyan adatot kap, amely szükséges ahhoz, hogy a feladatát elvégezze
2) adatellenőrzés: az a folyamat, amely során a program ellenőrzi az adat érthetőségét
3) adatkivitel: a program valamilyen kimeneti csatornára olyan adatot ír, amelyet ugyanaz vagy egy másik program azonnal vagy később felhasználhat
Vegyünk egy egyszerű példát. Van egy konzolos alkalmazásod, ami bekér tőled egy számot. Elég egyszerűen néz ki:
Írj be egy számot: sajt
Nem számot írtál be!
Egy konzolos alkalmazásnak 2 adatbeviteli és egy adatkiviteli csatornája van alapból, ezen kívül létrehozhat még magának. De ez a három a következő:
- standard input: ezen jelenik meg az az adat, ami a program bemenete lesz
- standard error: ezen jeleníti meg a program a hibaüzeneteket
- standard output: ezen jeleníti meg a program a feladat elvégzése során előállított adatot
A példában tehát
- a standard output tartalma: "Írj be egy számot: " (Unicode-kódolt szöveges adat)
- a standard input tartalma: "sajt" (Unicode-kódolt szöveges adat)
- a standard error pedig üres
A háttérben pedig ez a folyamat zajlott le:
1. A standard inputon megkapta azt binárisan (byte[] formában), hogy: {01110011, 01100001, 01101010, 01110100}
2. A Console.ReadLine() ezt az adatot string-ként értelmezi, és előáll, hogy "sajt" (emögött elég komoly mágia van)
3. Valamilyen módszerrel ellenőriztük, hogy ez a string-ként tárolt adat értelmezhető-e számként.
Szóval rögtön két adatellenőrzés is történt.
Azt ellenőrizni, hogy egy string-ként tárolt adat értelmezhető-e számként, arra több módszer van (én int-re mutatom meg):
int i;
try {
.. i = Convert.ToInt32("sajt"); //egyik módszer
.. i = int.Parse("sajt"); //másik módszer
}
catch (FormatException ex) {
.. //nem értelmezhető számként
}
if (!int.TryParse("sajt", out int i)) {
.. //nem értelmezhető számként
}
else {
.. //értelmezhető számként, és az értéke i-ben van
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!