C#探秘系列(二)――IsXXX 系列方法
不知道有人做没做过对日外包,如果做过的话,那么对vb.net应该非常熟悉了,当年我刚毕业的时候也做过四个月的外包,那种日子简直不是人过的,就连大楼下面买珠宝的阿姨都说,这些孩子,只看过他们上班,就没见过他们下班,不过有一点好,有个QA的小姑娘天天下午6点教我们倭瓜语,现在还在勾搭中。。。
好了,现在我们看看需求。
一: 如何判断“a”是不是数字类型。
①:在C#中我们可能会用TryParse来判断当前的”a“是否为整数。
static void Main(string[] args)
{
var a = "a";
int r;
Console.WriteLine(int.TryParse(a, out r));
Console.Read();
}
这个tryparse,我想大家都很熟悉,不过最讨厌的地方就是,我就是仅仅为了知道“a”是不是整数即可,还非要定义一个r变量,讨厌不讨厌。
② 使用正则
万能的正则,没有它解决不了的问题,不过为了它,我还要写“表达式”,还是有点小麻烦呢,不喜欢,我还要更简单一点的方法。
var a = "a";
Console.WriteLine(Regex.IsMatch(a, "^\\d$"));
Console.Read();
③:如果你知道vb.net的话,那你肯定会知道vb中是有一个IsNumeric方法的。
Sub Main()
Dim a As String = "a"
Console.WriteLine(IsNumeric(a))
Console.Read()
End Sub
当你看到这个方法的时候是不是很爽,下面我们继续挖下是哪个命名空间就行了。知道了命名空间,那我们C#是不是可以运用拿来主义呢?
好了,现在已经把ta扒光了,不过在Microsoft.VisualBasic空间下,我们还看到了7个貌似非常有用的isXXX,太好了~~~
下面我们添加下引用。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.VisualBasic;
using System.Diagnostics;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var a = "a";
Console.WriteLine(Information.IsNumeric(a));
Console.Read();
}
}
}
这些IsXXX方法都是非常见名识义的,我也不需要再code解释了,下面大家有兴趣可以自己动手尝试下,这些方法都是非常非常有用的,没有做不到,只有想不到~ 比如IsDate方法,如果在C#中判断一个字符串是否为时间是比较麻烦的,要么tryparse,要么正则,总的来看,VS是个大平台,当C#不好实现的时候,可以想想是否可以引用下其他语言下面的方法,或许你有大收获~