時間太快了,三月又要過去了,告別一下。。。繼續期待生死未卜的四月,今天我們繼續挖一挖。
一: Environment.StackTrace
可能我們看到最多的就是catch中的e參數,里面會有一個StackTrace,然后不可否認的這玩意太有用了,它會把調用堆棧
中的信息輸出出來,有了它,我們就可以快速的知道運行代碼的執行流並且快速的定位到問題。
有時候我們會遇到這樣兩個問題:
①:線上的bug在本地不能重現。
②:由於太多的多態,設計模式,程序員反而對線上的代碼執行流向會搞的稀里糊塗的。
為了搞清楚並解決這兩個問題,我們看生產日志的時候很在乎代碼的執行流以及想獲取當前上下文的可疑變量值。獲取可疑的
變量值,這個好說,我們通過記錄一些變量值到log就可以了,但是怎么記錄下當前語句的調用堆棧信息呢?這篇就是我要介紹的一
個屬性,很簡單, 答案也就在標題上,下面我們看看代碼。
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 Person person = new Person(); 6 7 person.Fly(); 8 9 Console.Read(); 10 } 11 } 12 13 class Person 14 { 15 public void Fly() 16 { 17 Fly("test"); 18 } 19 20 public void Fly(string name) 21 { 22 Console.WriteLine("我的log日志。\n\n{0}", Environment.StackTrace); 23 } 24 }
這不。。。文件名,方法名,行數都已經脫褲了,也算是給我們看生產日志時候的一把利器吧。
二:Trim
這個我想沒有程序員說不知道,但是里面有一個重載,這個不知道有多少程序員知道~
可以看到,我可以去掉字符串前后的指定字符,只要我在char[]中申請即可,而不是僅僅去掉空格,這次為什么要提它,是因為前
幾天用asp對接.net的時候遇到的,在asp中有一個join方法,但是它不像C#中的String.Join(",")方法可以去掉尾部的“,” ,比如
數組{1,2,3},在asp中join后會變成“1,2,3,”,而C#中會變成"1,2,3",這個時候當asp傳過來的話,在C#中就可以用Trim來剔除
尾部的“,”了。
1 var s = "1,2,3,"; 2 3 var r = s.Trim(new char[] { ',' }); 4 5 Console.WriteLine(r); 6 7 Console.Read();
好了,大體就這樣了,沒什么技術含量,重點就是挖一挖,或許對你有用~