Papago VR-ONE有好一陣子沒有更新圖資了,差不多有兩季了吧,好不容易在2009/4/2發出了更新,這次不只是更新圖資,也需更新主程式才可以用,而這次圖資也改用菘圖了,我對這個圖資廠商是不太熟,但在一些論壇上看到的幾乎都是哀嚎,本已為只是個人使用操作的問題,自己還沒有試過,先不要那麼快就下結論.但在家裡開起來設定時發現,啊怎麼景點變那麼少,我最喜歡用的"景點"定位方式變的不靈光了,之前還可以說,找看看附近有沒有什麼好玩的地方,現在看來好像沒那麼多選擇了,而且之前還可以直接用"飯店"名稱定位,我就不用記住址了,沒想到飯店更少....但心想至少地圖更新,有些新道路應該可以減少不少路程.


  這週剛好出去看螢火蟲,就試一下新Papago吧,沒想到山區的表現真的是很慘,(註 : 當時GPS可是滿格的咧)Papago要我左轉,但路標明明指示右轉,而且Papago裡"沒有這條路",新道路嗎?也不是啊,路標上的青苔也不少,路面的柏油也看起來不像新的,這時我選擇相信路標,不理Papago,因為另一邊又往"深山"路去,所以在這不存在的道路上,Papago一直處於飄移的狀態,跟著路標走,當然就順利的走到目標,日前新聞那位跟著GPS走,反而在"山中迷路"的女士,我相信這是GPS的錯,這跟設捷徑方式沒有關係.


  研勤還不錯,應該也發現到圖資的問題,至少給了一個錯誤圖資回報的地方,那麼我就來回報一下吧,有大家的回報,圖資會更加完整,可是沒想到線上地圖錯的更慘.....


 


研勤的線上錯誤圖資回報網頁 :



Google Map :



  眼尖的你發現到了嗎? 研勤地圖裡的高速公路交流道下來沒跟任何道路相接??是怎麼樣,下來之後接停車場嗎?這個交流道也有三十年以上了吧,最好跟我說它是新的,比對Google Map的地圖,發現到了嗎,三和路整條不見了囧rz.......而且再去比對一下這兩個畫面上的道路,還真有不少路不見了,本想回報山區那條不見的道路,現在直接關了這個網頁,這樣的品質,連Beta版的等級都還不到,竟然還Release出來.......


  這次用過的心得,看來Papago VR-ONE Plus真的會把你帶到深山裡放鴿子.....




參考網站 :


太相信衛星導航 女子困山4個小時


Google Map


研勤錯誤圖資回報

jeffyeh 發表在 痞客邦 留言(1) 人氣()

  因為剛好有網友問到要怎麼使用模擬器來上網,即然有人發問,用文字方面可能不好懂,反正今天剛好有點時間,就整理個一篇解說,需要的人可以更快的把設定給搞定.


廢話不多說,直接切入正題.


模擬器上網的方式有幾種,這篇文章所要用的是Microsoft ActiveSync,設定的方式很簡單.


1. 啟動Microsoft ActiveSync (如果沒有安裝此程式,下方有提供連結,或自行下載,新版請至微軟網站找)




檔案 -> 連線設定



勾選 [允許連線到下列其中一個裝置] ,下拉選項選擇DMA -> 確定


這樣ActiveSync就設定好了.



接下來設定Visual Studio.


工具 -> 裝置模擬器管理員



在清單中找到正在使用執行中的模擬器.



動作 -> 連接底座



之後ActiveSync就會跳出通訊錄同步的視窗,如果只是要上網,可以按取消.


這樣模擬器就可以上網囉~





ActiveSync下載 :


ActiveSync 4.5 繁體中文

jeffyeh 發表在 痞客邦 留言(0) 人氣()

  記得前一段時間有寫了一篇 讓伺服器能充份發揮4G以上的記憶體 的文章,今天在看信時,看到微軟這期的TechNet有一篇Vista 4G Ram的問題,使用Vista的人愈來愈多了,RAM也愈來愈便宜,所以4G以上的電腦也愈來愈多,但Vista真的就沒有4G的問題嗎,從微軟的文章中看到,似乎還是有問題,但也不是無解~


以下是微軟的技術服務部份文章內容 :


==============================我 是 分 格 線==============================


徵狀 :


如果電腦安裝了 4 GB 的隨機存取記憶體 (RAM),則在 Windows Vista 的 [系統資訊] 對話方塊中所報告的系統記憶體,就會少於您的預期。例如,在安裝了 4 GB (4,096 MB) 記憶體的電腦上,[系統資訊] 對話方塊可能會報告有 3,120 MB 的記憶體。

注意 您可以用下列方式存取 [系統資訊] 對話方塊:



  • 按一下 [開始],在 [搜尋] 方塊中輸入 System,然後按一下 [所有程式] 之下的 [系統]
  • 按兩下 [控制台] 中的 [系統]
  • 按一下 [開始],用滑鼠右鍵按一下 [電腦],然後按一下 [內容]
  • 按一下 Windows Vista [歡迎中心] 視窗中的 [顯示更多詳細資料]

 發生原因 :


這種行為是某些硬體和軟體因素的預期結果。

一般電腦中的多種裝置都需要進行記憶體對應存取。這就稱為記憶體對應 I/O (MMIO)。為了使 MMIO 空間可供 32 位元作業系統使用,MMIO 空間必須位於位址空間的最前面 4 GB 之內。

例如,如果您擁有具 256 MB 內建記憶體的視訊卡,該記憶體就必須對應至位址空間的最前面 4 GB 之內。如果已經安裝了 4 GB 的系統記憶體,該位址空間的一部分就必須保留給圖形記憶體對應。圖形記憶體對應會覆寫系統記憶體的一部分。這些情況會減少可供作業系統使用之系統記憶體的總量。

可用系統記憶體所減少的數量,會取決於電腦中所安裝的裝置。然而,為了避免發生驅動程式相容性的潛在問題,32 位元版本 Windows Vista 將可用的記憶體總量限制到 3.12 GB。如需有關驅動程式相容性潛在問題的資訊,請參閱<其他相關資訊>一節。

如果電腦具有許多已安裝的裝置,可用的記憶體數量就可能減少到 3 GB 或者更少。然而,32 位元版本 Windows Vista 的可用記憶體上限一般是 3.12 GB。


此文章適用於 :


Windows Vista 商用入門版
Windows Vista 商用進階版
Windows Vista 家用入門版
Windows Vista 家用進階版
Windows Vista Starter
Windows Vista 旗艦版
Windows Vista 商用進階 64 位元版
Windows Vista 家用入門 64 位元版
Windows Vista 家用進階 64 位元版
Windows Vista 旗艦 64 位元版
Windows Vista 商用入門 64 位元版

==============================我 是 分 格 線==============================


其他可行方案,及其他相關資訊就請到微軟的網頁閱讀囉,小弟不便在此全部轉載~


資訊來源 :


在 Windows Vista 中,如果安裝了 4 GB 的 RAM,[系統資訊] 對話方塊中所報告的系統記憶體數量會比您預期的少

jeffyeh 發表在 痞客邦 留言(0) 人氣()

基本上微軟每隔一段時間就會有安全性更新的動作,每次都按時更新時,有沒有發現到一項安全性更新名稱會帶"年月的".


像是 :  Microsoft Windows 惡意軟體移除工具 - 2009 年 4 月.


但每每更新完後,這個工具到底在那可以用? 還是說,它就常駐在記憶體內"保護"了嗎?


這工具是"沒有"防護功能的,它只有"掃描移除"功能的,所以千萬別誤會它是"自動防護".


那麼要怎麼用這個工具呢?


很簡單,在開始 -> 執行 ->輸入MRT 按下enter   (MRT跟大眾捷運系統的簡寫一樣,但我猜應該這個是Malware Remove Tool的簡寫)



接下來就會看到下面的畫面.



按下一步,下個畫面就看到有三個選項可以選,應該很容易懂這三個選項的意思吧.



 


基本上就 "下一步法則" ,就可以開始掃了,至於掃到"毒"後的步驟,我就不知道了,因為手上沒有"毒"可以試.


參考網站 :


Microsoft Windows 惡意軟體移除工具協助移除 Windows Vista、Windows Server 2003、Windows Server 2008、Windows XP 或 Windows 2000 電腦中特定的常見惡意軟體

jeffyeh 發表在 痞客邦 留言(0) 人氣()

  很多人都會有買東西吃虧,或是保固內卻無法理賠的等等消費糾紛,最直接反應的就是消基會,沒錯,消基會是個很好的申訴管道,但它除了申訴外,其實上面也有一些不錯的資訊供參考,所以在買東西前(例如買車),除了到論壇去看看,還可到消基會看看,或許有些資訊是沒有在論壇上出現的.


行政院消費者保護委員會

中華民國汽車消費者保護協會

中華民國消費者文教基金會

車輛安全資訊網


沒想到Swift有發生在行駛中無故熄火及排檔鎖死.......可怕.....果然跟廣告中每個人的反應一樣.Wow~

太子汽車  SWIFT  行駛中無故熄火排檔鎖死! !


我一直以為我遇到南陽(現代)經驗就很差了,沒想到還有更差的....

HONDA汽車的惡劣態度

我一直以為Civic八代不錯,應該不會有什麼重大問題....

HONDA Civic八代EX-S 漏油.已有六人申訴!!


這個案例清單還真是嚇人一跳....

鑑定案例!!

這些車商,我應該打死也不去吧....

劣質車商及不良維修場!!

jeffyeh 發表在 痞客邦 留言(0) 人氣()

Sql的語法可以做到Distinct的功能,取出不重覆的資料來,但如果不是從DB取資料,來源可能是DataTable,那要怎麼辨?


之前Google了一下,找到了Topcat分享的技術[ 如何從DataTable中取出Distinct的資料 ],果然簡單又有效率.


tmpDataTable.DefaultView.ToTable(true,"唯一的欄位名");


這麼一行就可以取得tmpDataTable裡不重覆的資料,果然是很簡單的好東西.


但一定也有不少人事後跟我有一樣的反應.....


什麼!!!!只有.Net 2.0以上才有!!! 那麼1.X的怎麼辨??


要做也不是不能做,就跑跑迴圈去做囉,不過最近看到一個有趣的做法,可以應用在某些狀況下. 當然這個在.Net 1.x也可以用.


 


首先在PageLoad的地方塞入一些資料Demo用.


        DataTable dt = new DataTable("TestDT");
        private void Form1_Load(object sender, EventArgs e)
        {
            dt.Columns.Add("Loc");
            for (int i = 0; i < 15; i++)
            {
                DataRow dr = dt.NewRow();
                dr["Loc"] = new Random(i).Next(10);
                dt.Rows.Add(dr);
            }

            dataGridView1.DataSource = dt;
        }

 


再來就加一個Function,這個Function就是這次的主角,傳入兩個參數,一個是存著全部資料的DataTable,另一個就是要Distinct的欄位,回傳的string陣列就是Distinct的清單,這個Sample Code是在MSDN上看到的,不過有個地方不是很好,"老師"有教過,不要拿Try-Catch來做資料正確的判斷,這樣的效能很差,所以呢,就小改了一下,加上了第8行,看有沒有重覆的Key,沒有再Add進去.


01         public string[] GetDistinctValues(DataTable dtable, string colName)
02         {//FYI : http://msdn.microsoft.com/zh-cn/library/system.data.datatable.defaultview(VS.80).aspx
03             Hashtable hTable = new Hashtable();
04             foreach (DataRow drow in dtable.Rows)
05             {
06                 try
07                 {
08                     if (!hTable.ContainsKey(drow[colName]))//判斷是否有重覆的Key
09                     {
10                         hTable.Add(drow[colName], string.Empty);
11                     }

12                 }

13                 catch (Exception ex)//MSDN是用Try-Catch的Error去限制唯一Key,效能會很差,這裡不這麼用,只用來判斷其它錯誤.
14                 {
15                     MessageBox.Show(ex.Message);
16                 }

17             }

18             string[] objArray = new string[hTable.Keys.Count];
19             hTable.Keys.CopyTo(objArray, 0);
20             return objArray;
21         }

接下來就是要呼叫這個Function囉,第一行就是呼叫它,回傳string array到tmp變數內,後續就把它放到DataTable裡,用dataGridView去show出來.


01             string[] tmp = GetDistinctValues(dt, "Loc");
02             DataTable tmpdt = new DataTable("TestDT");//將Distinct的結果放到新的DataTable
03             tmpdt.Columns.Add("Loc");
04             foreach (string s in tmp)
05             {
06                 DataRow dr = tmpdt.NewRow();
07                 dr["Loc"] = s;
08                 tmpdt.Rows.Add(dr);
09             }

10             dataGridView1.DataSource = tmpdt;

這個用法很有趣,沒什麼特別的技術,但卻是一個之前沒想到的簡單邏輯,或許有人會說,有這唯一的Key沒有用啊,沒有其它資訊,換個方式想,可以用DataView.RowFilter或是DataTable.Select,用這Key就可以取得資料了.


.Net 1.x的用法沒有2.X以上的簡潔好用,但也算是不是方法的方法.


 


絫考資料 :


MSDN DataTable.DefaultView屬性


MSDN DataView.RowFilter 屬性


MSDN DataTable.Select 方法

jeffyeh 發表在 痞客邦 留言(0) 人氣()

  今天回來就在NB上裝起IE8,這台NB有點久了,雖然是1.8G單核心,但也有1G的RAM,跑個IE上網應該沒有問題吧,就在我開啟新的活頁時,發現到一件怪事,我的avast又跳出一次script block的視窗,這個視窗在IE7只有開啟IE時,才會跳這麼一次,後續再開啟活頁就不會再跳出來,但IE8很怪,開啟個活頁也會跳個script block出來,用ProcessExplorer去看了一下,哇哩咧,之前看到只有兩個iexplorer.exe在記憶體裡,現在看到3個,該不會我每開一個活頁,它就再"獨立"出一個執行程式吧,於是就再開了一個活頁來看看,但這次就沒有多一個執行程式,本想應該這樣就結束了,不會再多,再做個確認,多開了幾個活頁,沒想到,又多了幾個執行程式,不知道是幾個活頁才會再獨立出一個執行程式.


  再看看它的記憶體用量,還真是不小咧,開個10個活頁,每個都是連到google首頁,別懷疑,IE8總共用了我176Mb,這是怎麼樣,你也太會吃了吧.


開啟10個google活頁.



記憶體用量



那好吧,正常人不會開那麼多活頁在跑(但我平均都是在10個活頁.....),那我就開一個活頁到Yahoo吧,結果也不少,用了67Mb....我什麼都還沒點咧,點了一個日韓大戰的新聞,就跳到7XMb....



 


IE7 同樣10個google活頁,也跟IE8一樣開在清單活頁,只用了34Mb



IE7同樣開在Yahoo,只用了44Mb



  現在Ram很便宜,但我這台NB太舊,只吃DDR400 1隻,所以1G就是我的上限,未來也不會有DDR400 1G以上的,因為停產了,雖然記憶體不會真的吃完,它會去跑page file,但速度就有差,何況我的HD還是IDE的,並不是SATA,更加的緩慢,所以可以斷定,這台NB用IE7就好,IE8是給次世代電腦在用的....


總結,現在買電腦所配的記憶體最好是2G以上,因為1G上網會被IE8吃光.....


我的NB已經不能上Hichannel的網站了,光它的首頁就會讓我的CPU滿載,整個慢到不行.


沒想到1.8G的單核CPU,1G的RAM,連上網都變的吃力....

jeffyeh 發表在 痞客邦 留言(1) 人氣()

  有些玩家可能玩到一定程度後,就會開始想要去"最佳化"上網的設定,例如調整MTU的值,或者是MaxConnectionsPerServer, MaxConnectionsPer1_0Server單伺服器最大連線數....等,但很多數據來源可能都是來自網友的提供,適不適合自己的環境就不知道了(網友可能只有2M,可是自己的環境是10M,或是別人可以跑到12000M bps,我只能跑到8000M bps),所以往往可能最佳化後,效能會更慘或者是效能不如預期,如果會調整Registry的人就還好,不會調的,沒調好還可能造成系統異常.


  在這樣的風險下,要怎麼去最佳化,難不成還要讓作業系統把你當56K的環境在跑嗎,當然可不囉,其實有個好工具TCPOptimizer就可以幫助大家完成這個工作,而且它還是免費的,不會因為說要付錢才可以真正的完全調整效能,免費的調一半的傻事,接下來就來大概介紹一下它的介面及操作.


看到下面有幾個活頁,或許許多人看到英文的就很頭痛,開始找有沒有中文化的,是有中文化的,但它其實也沒有那麼難,或許看完我的調整步驟後,依樣畫胡蘆就可以了.


General Settings 就是一般設定,幾乎所有的設定都在這裡就可以達成.


1. 首先選擇底下的optimal settings.預設都是在Current Settings.


2.下拉Network Adapter Sectction,選擇自己的網路卡(裡面還會含1394,無線網路,網卡等,選擇上網的那個即可)


3. Connection Speed就是你上網的連線速度,大家可以到各家ISP的網站去測試自己的速度,以Hinet來說,網址如右 : http://www.hinet.net/support/testspeed.html


測完的數據,就可以拉動那個指標到自己測出來的速度(多測個幾次求平均值),小弟的就大約在11.7M bps,所以就設在12,000.



4. 接下來就要調整MTU的值,很多網路的教法都是要使用者自己到DOS去下指令一個一個的試,是一個一個試哦,不是下個指令就得到最佳數據. 這個TCPOptimizer有個貼心的設計,這時選擇活頁到Largest MTU (最大的MTU).


在URL輸入自己的ISP網址,按下Start就會開始測囉,最後就會得到一行 : You can set your MTU to 1492 (小弟是1492,每個人不同)


得到這個MTU 數據後,再回到General Settings把得到的MTU值調進去MTU囉.


輸入ISP網址.



測試完成後.得到You can set your MTU to 1492



到這裡就快好了,只差最後一個動作,按下在General Settings下方的Apply changes.


按下後,就會跳出確認畫面.那個Backup打勾,就會幫你備份原始設定值,如果有不滿調整後的情況,可以再把它還原, Old Value是原始值,New value是最佳化後的值,因為小弟的已調過,所以都一樣.


沒問題後,按下OK,一切Registry就改好了. 只要再重開機就可以享受調整後的快感囉~



 


* 原本以為自己的MTU到1492就算最高了,上次幫別人調整,沒想到他的環境可以到1500.....不知道是不是因為電信局在他家後面....


裝上Internet Explorer 8 (IE8)後,也來個最佳化吧~


 


下載網址 : Tcp Optimizer

jeffyeh 發表在 痞客邦 留言(0) 人氣()

  等待已久的IE8已經在2009/3/20正式放出來下載了,誇獎跟批評的人都有,搶先安裝的不少,但觀望的人也很多,尤其是公司行號的部份,尤其是已經有"聽說"IE8在某些網站會有錯誤異常的情況,但卻有聲無影,不知道那個網站真的有問題,供大家"參考"一下,但公司是不可能冒險的,只有待"評價"穩定下來後,才有可能升級到IE8.


  就小弟自己本身的經驗,現在有兩台電腦,一台是用IE7,另一個是IE6,為什麼有一台不升級到7而停留在6?因為就真的遇到IE7導致網站運作異常的情況,當時是用IE7在富邦網站要下載憑證,但不管我怎麼下載,總是失敗,失敗3次就會鎖帳號,要打去客服,而客服再去通知他們發包公司來解鎖,一來一往可能就快要一個星期,連續好幾次請他們解鎖,後來才跟他們客服一一核對"適用環境",最後對出IE7會導致這個問題(就算安全性調到最低也不行),只好生一台電腦用IE6,結果就真的一次就下載成功,為此,現在IE6這台電腦始終不能升級,除非他們網站有更版,不然我想用就不能升,想升就不要用.


  現在有很多公司內部都有Web系統,MIS也很困擾使用者升級IE的問題,所以一不做二不休,就把它給鎖了,不給使用者升級(升級的有錯誤發生,後果自負,MIS是要去解決啦,但時間上的延誤,就是使用者的問題了),但這樣下去也不行,小弟現在的公司也是如果,從3/20開始,如果回報Web系統有異常,要先確認使用者是不是升到IE8了,如果是,就請他降回來再試一次.


  小弟開這篇的用意在於想收集大家的實際使用IE8的經驗,不論是好是壞,都希望大家能夠分享(能細部描述分析的更好),而這些資訊將對程式設計人員很有幫助,對公司的升級評估也很有用~




小弟先謝謝大家囉~




(最 近在VM 裝了IE8,說真的,有點給它不習慣,那個加速器的名稱,真的很容易誤會,快捷鍵可能還比較貼切,網站有變快嗎?沒有什麼特別感覺,可能是0.0幾秒的差 別吧,如果慢,也是想說可能是網路塞車或網站太忙,耗記憶體是真的,以首頁都是Google來說,以下數據是一開啟IE,等Google網頁載完後的用 量)


IE6 : 22,468K 左右


IE7 : 23,916K 左右


IE8 : 17,192K + 20,816K = 38,008K


IE8 比較有趣,開啟一個IE,在Windows程式管理員看到兩個iexplorer.exe,猜想這設計會不會是其中一個IE活頁當了,不會影響到其它活頁運作的關係設計,剛開始還已為中毒了.


小弟比較手癢一點,從管理員中給它強制中止了任一個Iexplorer.exe.




中止記憶體較少的那一個 : 兩個iexplorer.exe的執行序都會不見,IE不用說,也就關起來了,當再度開啟IE時,會顯示以下畫面.



中止記憶體較多的那一個 : 另一個佔用較少記憶體的iexplorer.exe並不會不見,而開啟的IE視窗會不見,隨後(立即)IE8視窗就又開啟了.




所以大概推定,較少的那個是防止IE死當的,真的很嚴重的死當到"較小"的IE,重開啟IE還是可以回到前一個工作階段~

jeffyeh 發表在 痞客邦 留言(0) 人氣()

C#有幾個比較常的用逸出字元,整理如下表 :


跳脫字元 功能說明
\' 單引號
\" 雙引號
\\ 反斜線
\a 發出一聲警告
\b 倒退一個字元 
\f Form Feed 
\n 換新行 
\r 換行並移到最前方
\t 水平方向的Tab
\v 垂直方向的Tab

 比如說,要達成以下文字的效果 :


=============Sample=============


舉例 :


         測試


=============Sample=============


說明 : [舉例:] 之後要換新行,而 [測試] 前面有個Tab空格.


字串 = "舉例:\r\n\t測試". 這樣就可以達到以上的效果.


 


另一個方向去思考個問題,  \r\n 的Length為多少?


一般會很直覺的,答案就是 4 . 但如果這麼簡單,也不用提出來了,答案是 2.


因為斜線 \ 不計,所以 \t 的長度就是 1


而連兩個斜線 \\ ,長度也是1


 


但如果我們存放的文字剛好有這些逸出字元要怎麼辨?  例如 "C:\test\net"


有兩種做法 :


方法1 : 打兩個斜線


"C:\\test\\net"


方法2 : 在前面加@


@"C:\test\net"


 這樣 \t 跟 \n 就不會被視為逸出字元了.


 


參考 : MSDN

jeffyeh 發表在 痞客邦 留言(0) 人氣()

  前一段時間才在新聞上看到Google街(景)車已經到台灣拍攝了,沒想到今天到新店時,剛好遇到Google街車正好在"取景",大老遠的看到它車頂上的傢伙就知道它是誰了,而且與新聞上的車子是同一款,顏色也是一樣的,二話不說馬上拿像機出來"互拍"一下.


 


你正在拍我嗎,可以在靠近一點,我也在拍你.



這裡也來一張吧.


(應該沒人會像我那麼無聊對著街景車拍的吧)


 


隔一段時間再到Google Earth上看看,說不定就會看到一個紅衣怪客對著鏡頭在拍照~


Google的魔爪終於深入各大街小巷了~

jeffyeh 發表在 痞客邦 留言(0) 人氣()

今天看到一篇短片,果然在MLB場上的都是高手,那怕只是個"球僮".......


 


 


 



jeffyeh 發表在 痞客邦 留言(0) 人氣()

最近遇到一個有趣的怪問題,同樣的程式碼,在VS2002或3及VS2005或8有不同的執行結果,因為VS2002及VS2003的結果一樣,VS2005與VS2008的一樣,所以後續就以.Net 1.X及.Net2.X以上來分別.




首先,不知道大家在看到這一行Code的時候,心中所想到的答案是什麼.


Convert.ToInt16(0).Equals(0)


答案應該是True or False?




執行結果很有趣,在.Net 1.x的執行結果是False.


然而,在.Net 2.X的執行結果卻是True!!!




為什麼同樣的Code會有不同的結果?


瞭解了一下Object.Equals,其實它所比較的不只是值,還比較型別上是否相同.




Int16的型別就是所謂的short,而我放在Equals裡的0則是Int32,所以.Net 1.x的平台在Convert.ToInt16(0).Equals(0)的情況執行下,雖然值是相同,但因為型別不同,所以就視為不同,這段改為Convert.ToInt32(0).Equals(0),就會得到True.


那為什麼.Net 2.X以上卻會得到不同的結果?




這時要看一下不同的.Net平台,在同樣傳入Equals()裡的值被視為什麼.


.Net 1.X


Int16.Equals(object obj)


ValueType.Equals(object obj)


Object.Equals(object obj)


.Net 2.X


Short.Equals(object obj)


Short.Equals(short obj)




從這裡就可以發現到不同啦,在.net 1.X的平台下,裡面的值都是視為object,所以還會比較object的型別,而.Net 2.X的平台下,因為傳入的值不僅有object,還有short這個型別,所以此時在Equals裡的0就"自然"的視為short的囉.


所以在.Net 2.X在平台下,宣告個變數Int32.


Int32 i=0;


Convert.ToInt16(0).Equals(i);


在這邊被傳入的 i 是視為object,會用其原本的型別來判斷.因為變數的型別不同,這時就會得到False囉,



jeffyeh 發表在 痞客邦 留言(0) 人氣()

  最近不知道為什麼,一直跑去逛砲台,上週才去大武崙砲台,這週又跑去滬尾砲台,順便還可以去天元宮看櫻花,這個滬尾砲台可是有意義的咧,因為婚紗照就是在那拍的,不過現在整理的比較乾淨,而且要收費,門票是不貴啦,一個人只要20,不過啊,如果有帶當日的發票,就可以免費入園囉~


  附近有幾個停車場可以停,除了忠烈祠,在對面還有一個停車場可以停,雖然不大,但今天去還不錯,很多位置可以停,如果有高爾夫球的會員,當然就可以停球場裡面囉,依我的身份,那還用說,當然是停外面.....


門口看起來很新~



北門鎖鑰,看起來很堅固的樣子



好大的木門,看起來很厚,要開關應該也不容易吧



少了荒煙漫草,卻多了另一種味道



在這厚實的牆後,可是有狹長的甬道在裡面



看起來似乎很窄,不過跟摸奶巷比起來,還算寬的囉,裡面還真的粉涼的咧



從這小小的窗戶往外看,就可以發現這牆有多厚



裡面有個小木門,還真的很小,不懂在戰爭的時候,這個小門怎麼方便進出



在裡面的展示區意外的看到馬偕的由來,說真的,之前還真不知道這故事.




這就是通往樓上的通道囉,這坡度還有點陡,砲彈要往上送也不容易吧,應該很常發生倒退嚕的情況吧.


從通道往上走,就會從這邊出來囉



另一邊的出口還放著歡迎光臨的踏墊,看起來有點奇怪....



看不到大砲,僅看到說明還有底座



不知道當時那個大砲有多大,放在這裡面應該就很壯觀吧



在一邊就可以看到甬道的通風口,還不少咧.



接下來到四週的步道走走,看到一個很白痴的解說,"在陽光下球場門口雙B汽車閃閃亮亮,排列成群,呈現今日台灣的富裕與奢華,景象迥異,一派風華.".....現在杜拜機場也停了一堆,還沒人要....



看到一間完全被樹給包住的建築,不近看還真不知道裡面是間房子.



這棵樹可絕了,與地面平行的長在房子上,而且還很粗咧.



在滬尾砲台晃的差不多,趁天色尚亮,趕快前往天元宮去看櫻花去,天元宮很好認,大老遠就可以看到它,裡面的停車場很多,不用在下面跟人擠,往天元宮的山上開去,後面還有停車場.


不知道是來的晚還是早,花只開了一半,因為天色已暗,又鳥雲密佈,加上手上的像機是很普通的,沒有辨法拍出現場看到的美感,所以只放一張照片.



滬尾砲台現在是整理的很整潔了,雖然尚有部份牆面仍在維護,不過還是不錯遊的地方,畢竟不少新人也都是到這來拍婚紗照,唯一美中不足的地方就是現場的解說員,有看到一些特殊的建物而跑去請教解說員,結果解說員並不知道那是什麼,他們只負責在那防止遊客亂跑......


天元宮的櫻花雖然只開一半,但天氣好的時候去看,應該還是很漂亮的吧,交通也沒想像中的塞,車子也還算好停,(天元宮蓋的真大,很賺錢哦)...


 


  晚上到三重的長榮路去吃刷刷鍋,鍋神是吃到飽的,所以為了吃回本,就把減肥一事先放一旁,努力的吃,一個人就做掉五盤肉,當然囉,感覺是回本了,但代價就是胖了兩公斤......Orz......










jeffyeh 發表在 痞客邦 留言(0) 人氣()

  網路上的東西真是千奇百怪,今天看到一種前所未聞的動物"草泥馬"!說真的,還真是沒聽過,不過這個影片的歌倒是不錯聽~~








最有趣的是事後老婆問我一個問題,真的有"草泥馬嗎?"......



無言......那個是羊駝啦.......

jeffyeh 發表在 痞客邦 留言(0) 人氣()