Labdien,
Apmulsu ar kādiem tempiem sāk pildīties mūsu zināšanas bāze. Nav vēlmes palikt malā:)
Tiecoties uz perfektu kodu, šoreiz par vienu interesantu vadlīniju. Reāls uzdevums no dzīves.
· Tiek padota simbolu kopa (String)
· Jāpārbauda vai simbolu kopa satur tikai burtus.
Prātā nāk vismaz divas realizācijas.
· Izmantot regulārās izteiksmes. Ja tās jūs pārzināt, tas neaizņems daudz laika. Bet kods ir jāraksta, pastāv arī kļūdas iespēja;
· Uzrakstīt ciklu. Apskatam katru simbolu uz atbilstību atļautiem simboliem. Šinī gadījumā visticamāk jūsu kods būs jāatkļūdo un jāuztur;
Bet vai pastāv arī alternatīvāki varianti, ar domu maksimāli koncentrētos uz pārbaudes nosacījuma! Šeit var palīdzēt jaunā All paplašinošā metode System.Linq vardu telpā. Kas ir domāta objektiem, kas manto IEnumerable interfeisu.
Tātad varam uzrakstīs šādu te kodu, tas atbilst mūsu uzdevumam. Kods ir maksimāli īss, un šeit ir pavisam niecīga iespēja kļūdīties.
using System.Linq;
...
var s = "ABC";
var result = s.All(Char.IsLetter);
...
Veicu veiktspējas testus, stipri neatpaliek no varianta, kad tiek rakstīts savs cikls, bet noteikti ir ātrāks par regulārām izteiksmēm.
Cerams, noderēs.
Posted
Nov 04 2008, 07:12 PM
by
andrejs.mamontovs