.NET 4.x Написать программу, которая скрывает часть введённого e-mail-а - C#

Формулировка задачи:

Написать программу, которая скрывает часть введённого email-а. Оставляет только первые и последние 3 буквы. Остальные символы заменяются на *. Если имя почтового ящика (до @) состоит из 3-4 символов, то оставлять только первые 2 символа. Если имя почтового ящика (до @) состоит из 2 символов, то оставлять только первый 1 символ. Если имя почтового ящика (до @) состоит из 1 символа, то скрывать все символы(кроме последних 3-х).


textual

Код к задаче: «.NET 4.x Написать программу, которая скрывает часть введённого e-mail-а - C#»

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] mails =  new string[] {"wwwww@ya.ru","xxxx@ya.ru", "yy@ya.ru", "z@ya.ru"};
            List<string> visibleMail = new List<string>();
            foreach (string mail in mails)
            {
                string[] s = mail.Split(new char[] { '@' });
 
                if (s[0].Length < 2)
                {
                    char[] mChar = new char[mail.Length - 3];
                    mail.CopyTo(0, mChar, 0, mail.Length - 3);
                    visibleMail.Add(mail.Replace(new string(mChar), Star(mChar.Length)));
                    continue;
                }
                else if (s[0].Length < 3)
                {
                    char[] mChar = new char[mail.Length - 1];
                    mail.CopyTo(1, mChar, 0, mail.Length - 1);
                    visibleMail.Add(mail.Replace(new string(mChar), Star(mChar.Length)));
                    continue;
                }
                else if (s[0].Length < 5)
                {
                    char[] mChar = new char[mail.Length - 2];
                    mail.CopyTo(2, mChar, 0, mail.Length - 2);
                    visibleMail.Add(mail.Replace(new string(mChar), Star(mChar.Length)));
                    continue;
                }
                else
                {
                    char[] mChar = new char[mail.Length - 6];
                     mail.CopyTo(3,mChar,0, mail.Length - 6);
                    visibleMail.Add(mail.Replace(new string(mChar), Star(mChar.Length)));
                    continue;
                }
            }
 
            foreach (string s in visibleMail)
            {
                Console.WriteLine(s);
            }
            Console.ReadLine();
        }
 
        static string Star(int length)
        {
            string s = "*";
            string result = "";
            for (int i = 0; i < length; i++)
                result += s;
            return result;
        }
    }
}
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

15   голосов, оценка 4.267 из 5

Источник