c#编程语言中用于表达日期时间的结构的名字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#编程语言中用于表达日期时间的结构的名字相关的知识,希望对你有一定的参考价值。

获取日期型字段中的年月日字符的具体代码如下:

string date="2010-5-11";

DateTime dt=DateTime.Parse(date);

string yy=dt.Year.ToString();

string mm=dt.Month.ToString();

string dd=dt.Day.ToString();

上述代码中yy为获取得到的年份2010,mm为获取得到的月份5,dd为获取得到的日子11。

基本运算符

C使用运算符(operator)来代表算术运算。例如,+运算符可以使它两侧的值加在一起。如果您觉得术语“运算符”听起来比较奇怪,那么请您记住那些东西总得有个名称。

与其被称之为“那些东西”或“数学符号”,被称之为“运算符”似乎看起来更专业一些。

赋值运算符

在C里,符号=不表示“相等”,而是一个赋值运算符。下面的语句是将2014赋给num的变量。 
num=2014; 

也就是说,符号=的左边是一个变量名,右边是赋给该变量的值。符号=被称为赋值运算符(assignment operator)。再次强调不要把这行代码读做“num等于2014”,而应该读为“将值2014赋给变量num”。赋值运算符的动作是从右到左。 

或许变量的名字和变量值之间的区别看起来微乎其微,但是请考虑下面的常量计算机语句: 
i=i+1; 

在数学上,该语句没有任何意义。如果您给一个有限的数加1,结果不会“等于”这个数本身。它意味着“找到名字为i的变量的值:然后对那个值加1,然后将这个新值赋给名字为i的变量”。 

以上内容参考:百度百科——c语言

参考技术A C sharp编程语言中用于表达日期的时间结构呢,一般都是你啊,让他输入print,那我就可以了。本回答被提问者和网友采纳

C# 中用于电子邮件验证的最佳正则表达式

【中文标题】C# 中用于电子邮件验证的最佳正则表达式【英文标题】:Best Regular Expression for Email Validation in C# 【发布时间】:2013-04-16 14:05:21 【问题描述】:

我见过大量用于不同编程语言的正则表达式,它们都声称可以验证电子邮件地址。我看到很多 cmets 说有问题的表达方式不适用于某些情况,它们要么太严格,要么太宽松。我正在寻找的是一个正则表达式,我可以在我的 C# 代码中使用它是明确的。

我发现最好的就是这个

^([\w\.\-]+)@([\w\-]+)((\.(\w)2,3)+)$

还有更好的吗?

【问题讨论】:

我对这个话题了解不多,但我通篇阅读了所以你不应该使用正则表达式进行电子邮件验证。 ex-parrot.com/~pdw/Mail-RFC822-Address.html 不要正则表达式电子邮件地址。发送确认电子邮件以验证他们的电子邮件地址是否正确。 那个正则表达式实际上失败了一个有效的电子邮件地址。所以,你肯定需要更好的东西。抱歉,我不知道。 有更好的方法吗?:如果您的意思是确实有效,那么是的。您发布的正则表达式无法匹配大量有效的电子邮件地址。 【参考方案1】:

电子邮件地址:RFC 2822 格式 匹配一个普通的电子邮件地址。 不检查***域。 需要“不区分大小写” 选项开启。

[a-z0-9!#$%&'*+/=?^_`|~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`|~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?

用法:

bool isEmail = Regex.IsMatch(emailString, @"\A(?:[a-z0-9!#$%&'*+/=?^_`|~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`|~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\Z", RegexOptions.IgnoreCase);

【讨论】:

对不起,我应该如何打开“不区分大小写”选项? 这是否允许在本地部分使用 UTF-8 字符(例如德语变音符号如 Ä、ü、ö 或 ß)? 因此它不适用于国际运营公司。对这个问题有什么想法吗?还是链接? MSDN 参考了这个。它可以正常工作https://msdn.microsoft.com/en-us/library/01escwtf(v=vs.110).aspx Alexandr 上面的链接由于某种原因对我不起作用。 Here's a direct link.【参考方案2】:

第一个选项(因为 throw-catch 不好,但 MS 会为你工作):

bool IsValidEmail(string email)

    try 
        var mail = new System.Net.Mail.MailAddress(email);
        return true;
    
    catch 
        return false;
    

读取第二个选项I Knew How To Validate An Email Address Until I Read The RFC 和RFC specification

【讨论】:

-1 System.Net.Mail.MailAddress 批准了太多的地址组合,这在现实中会失败并且根据 RFC 规范也是错误的,例如 unescaped white space@fake$com 如果这里的目的是用System.Net发送邮件,那么这个验证就足够了 @VinayakPrabha 上面的代码可能从 2013 年开始就已经过时了。引入了新域,我不知道微软是否包含它们 同意。下面一行中的正则表达式涵盖了新域***.com/questions/16167983/… 如果你通过 "JB@hotmailcom" 它将返回 true :(【参考方案3】:

此 C# 函数使用正则表达式来评估传递的电子邮件地址在语法上是否有效。

public static bool isValidEmail(string inputEmail)

   string strRegex = @"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]1,3" +
         @"\.[0-9]1,3\.[0-9]1,3\.)|(([a-zA-Z0-9\-]+\" + 
         @".)+))([a-zA-Z]2,4|[0-9]1,3)(\]?)$";
   Regex re = new Regex(strRegex);
   if (re.IsMatch(inputEmail))
    return (true);
   else
    return (false);

【讨论】:

此 reg ex 未经测试。它允许电子邮件地址 - somename@gmail.com.in.in.in.in.in !!! @ParthTrivedi somename@gmail.com.in.in.in.in.in 在技术上是一个有效的电子邮件地址。【参考方案4】:

2019 年的更新答案。

Regex 对象对于匹配函数是线程安全的。知道这一点并且存在一些性能选项或文化/语言问题,我提出了这个简单的解决方案。

public static Regex _regex = new Regex(
    @"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]1,3\.[0-9]1,3\.[0-9]1,3\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]2,4|[0-9]1,3)(\]?)$",
    RegexOptions.CultureInvariant | RegexOptions.Singleline);

public static bool IsValidEmailFormat(string emailInput)

    return _regex.IsMatch(emailInput);

正则表达式的替代配置:

public static Regex _regex = new Regex(
    @"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]1,3\.[0-9]1,3\.[0-9]1,3\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]2,4|[0-9]1,3)(\]?)$",
    RegexOptions.CultureInvariant | RegexOptions.Compiled);

我发现编译只在大字符串匹配时更快,例如书籍解析。简单的电子邮件匹配会更快,只需让 Regex 进行解释。

Thread Safety And RegexRegex Best Practices

【讨论】:

【参考方案5】:

我想建议 new EmailAddressAttribute().IsValid(emailTxt) 在使用 RegEx 验证之前/之后进行额外验证

记住EmailAddressAttributeSystem.ComponentModel.DataAnnotations namespace 的一部分。

【讨论】:

【参考方案6】:

电子邮件验证正则表达式

^[a-z0-9][-a-z0-9._]+@([-a-z0-9]+.)+[a-z]2,5$

或者

^[a-z0-9][-a-z0-9._]+@([-a-z0-9]+[.])+[a-z]2,5$

演示链接:

https://regex101.com/r/kN4nJ0/53

【讨论】:

"very.(),:;[]\".VERY.\"very@\\ \"very\".unusual"@strange.example.com 是一个有效的电子邮件地址根据 RFC,与您的正则表达式不匹配 中文字符也是有效的,但我没有看到任何考虑到这一点的解决方案;)也许您会为我们创建一个? 6 年后见。

以上是关于c#编程语言中用于表达日期时间的结构的名字的主要内容,如果未能解决你的问题,请参考以下文章

快速回顾C#基础(编程的小技巧)待完善

C# 教程03C# 程序结构

C#编程(三十七)----------结构比较

什么是 PCRE 兼容语法? C# PCRE 兼容吗?

C#中正则表达式在replace中的应用!

C# 程序结构