挖一挖C#中那些我們不常用的東西之系列(2)——IsXXX 系列方法

一線碼農發表於2014-03-26

 

  不知道有人做沒做過對日外包,如果做過的話,那麼對vb.net應該非常熟悉了,當年我剛畢業的時候也做過四個月的外包,那種日子簡直

不是人過的,就連大樓下面買珠寶的阿姨都說,這些孩子,只看過他們上班,就沒見過他們下班,不過有一點好,有個QA的小姑娘天天下午6

點教我們倭瓜語,現在還在勾搭中。。。

    好了,現在我們看看需求。

 

一: 如何判斷“a”是不是數字型別。

  ①:在C#中我們可能會用TryParse來判斷當前的”a“是否為整數。

 1         static void Main(string[] args)
 2         {
 3             var a = "a";
 4 
 5             int r;
 6 
 7             Console.WriteLine(int.TryParse(a, out r));
 8 
 9             Console.Read();
10         }

  這個tryparse,我想大家都很熟悉,不過最討厭的地方就是,我就是僅僅為了知道“a”是不是整數即可,還非要定義一個r變數,討厭不討厭。

 

 ② 使用正則

  萬能的正則,沒有它解決不了的問題,不過為了它,我還要寫“表示式”,還是有點小麻煩呢,不喜歡,我還要更簡單一點的方法。

1             var a = "a";
2 
3             Console.WriteLine(Regex.IsMatch(a, "^\\d$"));
4 
5             Console.Read();

 

 ③:如果你知道vb.net的話,那你肯定會知道vb中是有一個IsNumeric方法的。

1     Sub Main()
2 
3         Dim a As String = "a"
4 
5         Console.WriteLine(IsNumeric(a))
6 
7         Console.Read()
8 
9     End Sub

 

   當你看到這個方法的時候是不是很爽,下面我們繼續挖下是哪個名稱空間就行了。知道了名稱空間,那我們C#是不是可以運用拿來主義呢?

 

好了,現在已經把ta扒光了,不過在Microsoft.VisualBasic空間下,我們還看到了7個貌似非常有用的isXXX,太好了~~~

下面我們新增下引用。

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 using Microsoft.VisualBasic;
 7 using System.Diagnostics;
 8 
 9 namespace ConsoleApplication1
10 {
11     class Program
12     {
13         static void Main(string[] args)
14         {
15             var a = "a";
16 
17             Console.WriteLine(Information.IsNumeric(a));
18 
19             Console.Read();
20         }
21     }
22 }

 

 這些IsXXX方法都是非常見名識義的,我也不需要再code解釋了,下面大家有興趣可以自己動手嘗試下,這些方法都是非常非常有用的,

沒有做不到,只有想不到~  比如IsDate方法,如果在C#中判斷一個字串是否為時間是比較麻煩的,要麼tryparse,要麼正則,總的

來看,VS是個大平臺,當C#不好實現的時候,可以想想是否可以引用下其他語言下面的方法,或許你有大收穫~

 

相關文章