添加联系人到列表

本文关键字:列表 联系人 添加 | 更新日期: 2023-09-27 18:16:09

我有一个添加联系人(姓名和号码)到列表并稍后显示它的小问题声明。在添加过程中,我选择了以下方法,它在添加之前检查用户是否添加了正确的数字格式。如果添加了错误的数字格式,代码将要求他从头输入详细信息。我的问题是,如果用户添加了错误的输入,他必须只退一步,即回到添加数字,而不是从一开始。基本上我如何将下面的方法分成两个并使用它们。在这里,我在一个单独的类采取接触。我是c#的初学者。如果有错误,请忽略。Thanks a ton

public void AddingContact()
{
    Contact addContact = new Contact();
    Console.WriteLine("Enter the name to be added:");
    addContact.Name = Console.ReadLine();
    Console.WriteLine("Enter the phone number to be added:");
    string NewNumber = Console.ReadLine();
    if(//So and so condition is true)
    { 
        Add contact to list<contacts>
    }
    else
    {
        AddingContact();
    }
}

添加联系人到列表

循环字段直到获得有效输入的最简单方法是使用do-while块。

public void AddingContact()
{
    Contact addContact = new Contact();
    Console.WriteLine("Enter the name to be added:");
    addContact.Name = Console.ReadLine();
    string NewNumber;
    do 
    {
        NewNumber = Console.ReadLine();
        if (!IsValidPhoneNumber(NewNumber))
        {
            NewNumber = string.Empty;
        }
    } while (string.IsNullOrEmpty(NewNumber));
    Contact.PhoneNumber = NewNumber; // Or whatever the phone number field is
    ContactList.Add(Contact); // Or whatever the contact list is
}

验证电话号码的方法可以写成:

public bool IsValidPhoneNumber(string number)
{
    return Regex.Matches(number, "^''(?([0-9]{3})'')?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$").Count == 1;
}

创建函数验证输入的返回bool值的数字

bool isValidNumber = true;
do{ 
  Console.WriteLine("Enter the phone number to be added:");
  string NewNumber = Console.ReadLine();
  isValidNumber = isValidNumberCheck(NewNumber);
}while(!isValidNumber);