Esercizio C# in console che permette di trovare il numero di cellulare italiano in un array di numeri.
Per prima cosa bisognerà creare un for che scorra l'array contenente i diversi numeri di telefono e assegnare il numero da controllare ad una variabile.
public static string Check(string[] input)
{
string numero="";
for(int i=0; i<input.Length; i++ ){
numero=input[i];Continuiamo facendo un controllo su lunghezza e inizio del nostro numero di telefono: in caso il numero inizi per 0039 o +39, dovremo controllare che, dopo i prefissi citati, siano presenti altri 10 numeri, primo dei quali dovrà essere un 3. Un altro caso accettabile lo troviamo se il numero è semplicemente lungo 10 e inizi per 3.
if((numero.Length==14&&numero.Substring(0,5)=="00393")||(numero.Length==10&&numero[0]=='3')||(numero.Length==13&&numero.Substring(0,4)=="+393"))N.B. È importante controllare prima la lunghezza e poi l'inizio del numero per velocizzare il controllo.
Successivamente creiamo una funzione che, tramite ciclo for, controlli se il numero di cellulare ricevuto contiene o meno dei caratteri non numerici, in caso tali caratteri venghano rilevati, la nostra funzione ritornerà false, di modo da poter segnalare di scartare il numero.
public static bool CheckClean(string numero){
for(int i=1; i<numero.Length; i++ )
if(char.IsDigit(numero[i])==false)
return false;
return true;
}Utilizziamo questa funzione per fare un ulteriore controllo.
if((numero.Length==14&&numero.Substring(0,5)=="00393")||(numero.Length==10&&numero[0]=='3')||(numero.Length==13&&numero.Substring(0,4)=="+393"))
if(CheckClean(input[i]))Ritorniamo infine, in caso siano stati superati tutti i controlli, il numero di cellulare corretto, altrimenti ritorniamo una stringa vuola, per segnalare che non sono stati trovati numeri validi all'interno dell'array.
return input[i];
}
return "";
}