尝试关注我看到的网站上的示例。我知道我有正确的功能,但不知道如何正确地将其实现到Main
。也非常缺乏经验所以请耐心等待。
namespace TextSystemString
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Please enter your email.");
string UserEmail = Console.ReadLine();
string ValEmail = IsValidEmail(UserEmail);
}
static public bool IsValidEmail(string email)
{
try
{
var addr = new System.Net.Mail.MailAddress(email);
return true;
}
catch
{
return false;
}
}
}
}
答案 0 :(得分:1)
您的IsValidEmail
函数返回一个bool。
在Main()
中,你必须声明并设置一个布尔变量,而不是一个字符串 - 这就是你的应用程序没有编译的原因。然后,您可以使用变量执行任何操作。
static void Main(string[] args)
{
Console.WriteLine("Please enter your email.");
string UserEmail = Console.ReadLine();
bool ValEmail = IsValidEmail(UserEmail);
Console.WriteLine("Valid Email:{0}", ValEmail);
}
答案 1 :(得分:0)
建议如果您使用的是更新版本的VS和C#,则可以使用var
。
<强> var (C# Reference) 强>
从Visual C#3.0开始,在方法中声明的变量 范围可以具有隐式类型
var
。隐式键入的本地 变量是强类型的,就像你声明了类型一样 你自己,但编译器确定了类型。i的以下两个声明在功能上是等效的:
var i = true; // implicitly typed bool i = false; //explicitly typed
将您的代码重构为:
static void Main(string[] args)
{
Console.WriteLine("Please enter your email.");
var userEmail = Console.ReadLine(); // implicitly typed as string
var isValidEmail = IsValidEmail(userEmail); // implicitly typed as bool
Console.WriteLine("Valid Email:{0}", isValidEmail);
}
由于您的IsValidEmail
函数返回bool
,编译器将确定isValidEmail
的类型被隐式输入为bool
,从而避免编译器问题作为编译器确定您的类型。