0
我正在構建一個控制檯應用程序,並且我有一個解析函數,實際上有兩個函數,它們在插入數據庫後清理用戶輸入。但在解析值之後,我將它們保存在一個對象中,然後使用對象的方法將數據保存到數據庫中。我應該使用屬性來解析控制檯輸入嗎?
以下是我有:
static int TryParse(string lable, string field)
{
string str = Console.ReadLine();
string rgx;
string warning;
switch (field)
{
case "phone":
rgx = @"\b\d{4}-?\d{2}-?\d{2}\b";
warning = @"Por favor insira apenas números (máximo de 8 dígitos) ou no seguinte formato: XXXX-XX-XX.";
break;
case "postal":
rgx = @"\b\d{2}-?\d{3}-?\d{3}\b";
warning = @"Por favor insira apenas números (máximo de 8 dígitos) ou no seguinte formato: XX-XXX-XXX.";
break;
case "area":
rgx = @"\b\d{2}\b";
warning = @"Por favor insira apenas números (máximo de 2 dígitos). Código de área sem o 0.";
break;
default:
rgx = @"\d+";
warning = @"Por favor insira apenas números.";
break;
}
Regex regex = new Regex(rgx);
while (!regex.IsMatch(str))
{
Console.WriteLine(warning);
Console.Write(lable);
str = Console.ReadLine();
}
return Convert.ToInt32(str.Replace("-",""));
}//End of TryParse();
其他功能只是返回一個字符串,導致其對電子郵件領域。
我的班級:
public class Contact
{
public int id;
public string name;
public string skype;
public string main_email;
public string company;
public int main_phone;
public int main_phone_area;
public int postal_code;
而且具有保存方法,整個CRUD,構造等..
所以,我應該代替解析我做的方式,在程序(主),使用對象屬性解析?
EDIT1:
控制檯讀取/寫入是在主了。
我會將控制檯讀/寫移動到Main,並讓解析需要更多參數進行補償。如果您的輸入方法改變(例如,添加Web界面或實際的GUI),這將允許更多的可重用性。 – Cemafor