2011-10-20 65 views
1

這是讓我惱怒的事情,無論何時我必須將某些東西轉換爲值(例如,可以說我必須將某些東西轉換爲布爾值),視覺工作室會給你他們對CBool​​的建議,這是可行的,但那是VB6,我不想那麼做。VB - 獲取Visual Studios 2010停止推薦VB6代碼

我試過尋找無處不在,但沒有運氣,有誰知道我如何讓Visual Studio停止建議VB 6解決方案,而是建議.NET解決方案(如使用convert.ToBoolean)?

如果你知道一個插件可以做到這一點,我對此也很開放。

謝謝你們。

+2

CBool​​是VB6的一部分,但它也是VB.NET的一部分。 http://msdn.microsoft.com/en-us/library/s2dy91zy(v=vs.80).aspx –

回答

2

CBool()運營商和它的同伴(甚至CType)是而不是 VB6。他們是運營商而不是功能,並且仍然是現代VB.Net的一部分。具有類似於舊vb6風格代碼的語法,這是不幸的,但除此之外,它們沒有任何問題。

另一方面,Convert.ToBoolean()的替代方案是一個函數。不同的是,Convert.ToBoolean()可以轉換爲一個更大的值範圍,代價是性能急劇下降,而CBool只能轉換東西已經是(或幾乎已經是)一個布爾值,也許只是沒有有你需要的準確類型匹配。 (),Trim(),DateAdd(),Ubound()等等。後者絕對應該被避免,轉而使用一個類似於CBool更現代的風格。

+0

我會解決這個問題,謝謝:) – Eman

+0

你也可以ctype(YourVariable,布爾值)甚至directCast如果你想擠出每一點表現。 –

+0

+1 CB.Net docs on CBool​​ [say](http://msdn.microsoft.com/en-us/library/s2dy91zy.aspx)「作爲規則,您應該優先使用Visual Basic類型轉換函數.NET Framework方法「。有一個問題,「CBool​​」真的是演員? 'CBool​​(「true」)'返回'True' - 是不是轉換而不是轉換? – MarkJ