使用System.Text但可以'在其中使用一些类!

马丁顿

成员
已加入
2014年7月8日
留言内容
14
编程经验
Beginner
好的,这是表单的顶部,其中包括所需的名称空间?

C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

这是一些检查电子邮件是否有效的代码。
C#:
private void DoLogin_Click(object sender, EventArgs e)
        {
            string GetEmail = LoginEmail.Text;
            System.Text.RegularExpressions.Regex正则表达式 = new Regex(@"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$");
            Match match = regex.Match(GetEmail);


            if (match.Success)
            {
                MessageBox.Show(GetEmail + " is correct");
            }
            else
            {
                MessageBox.Show(GetEmail + " is incorrect");
            }
        }

这是行不通的,因为它说:
C#:
Error    1    The type or namespace name 'Regex' could not be found (are you missing a using directive or an assembly reference?)    C:\Users\Martyn Ball\documents\visual studio 2013\Projects\JamSnaps\JamSnaps\Database Testing.cs    244    62    JamSnaps

现在它像这样工作:
系统文字.RegularExpressions.Regex正则表达式

但是我虽然那样,因为我已经包括了"System.Text"在顶部,我不需要引用所有的类吗?
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,567
地点
悉尼,澳大利亚
编程经验
10+
导入System.Text意味着您可以使用不限定名称空间的成员,但是Regex不是System.Text的成员。您自己的代码告诉您它属于什么名称空间:
C#:
[B][U]System.Text.RegularExpressions[/U][/B].Regex regex
 

马丁顿

成员
已加入
2014年7月8日
留言内容
14
编程经验
Beginner
导入System.Text意味着您可以使用不限定名称空间的成员,但是Regex不是System.Text的成员。您自己的代码告诉您它属于什么名称空间:
C#:
[B][U]System.Text.RegularExpressions[/U][/B].Regex regex


哦,我可以输入"RegularExpressions.Regex正则表达式"它会起作用吗?作为第一部分"System.Text"已经进口了吗?
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,567
地点
悉尼,澳大利亚
编程经验
10+
哦,我可以输入"RegularExpressions.Regex正则表达式"它会起作用吗?作为第一部分"System.Text"已经进口了吗?
在VB中,您可以这样做,但是,如果我没记错的话,C#不支持这样的部分名称空间。您可能需要做的事情,即使您不需要做,最明智的选择就是导入System.Text.RegularExpressions命名空间。除非您正在使用作为该名称空间的直接成员的其他类型,否则您可能甚至不需要导入System.Text。
 
最佳 底部