2009-11-18 39 views
5

中級/高級VB.NET web程序員應該如何在C#上獲得語法排序,這些練習有哪些?從VB.NET編碼轉換到C#的良好習慣?

我想象一些很好的例子是:

  • 算法或運行C#語法的色域
  • 參考材料的主要語法差異
  • 列表VB.NET程序員應該練習項目知道的
+1

你應該習慣使用';' :) – Kelsey

+0

然後記住當切換回VB .NET – Phaedrus

回答

1

使用automatic converter自己的代碼玩。

它應該適用於大多數情況。你大多隻需要弄清楚如何重做lambdas和其他類似的情況。

Reflector也很不錯,以幫助您找出如何用轉換代碼玩。

至於學習的差異,看到MSDN's white paper on this。這有點過時了,但是一個很好的起點。更完整但較少的文本參考類比較,is available here

+0

+1反射器時再次離開它。確實。 –

3

我採取的是在VB.NET進行,在C#中它重新寫我的愛好項目之一做出的變遷理論。這讓我以良好的態度開始了;在已知問題領域工作時學習語法,同時提供現實世界的問題來解決。

9

我認爲最好的鍛鍊會建立的東西自己。

這種方式可以定義你的範圍,「談判」的新功能,並編寫新的代碼只是爲了好玩。

你也可以再次解決你已經知道的問題;例如,我建議嘗試解決C#中的Project Euler中的一些問題。

+0

+1。是要建議項目歐拉 –

+0

@binary,這是非常容易上癮;它讓我感到愚蠢每次 –

1

查找非常基本知識(如何定義一個函數,如何定義一個變量),然後開始編碼C#中一個真正的項目。一旦你陷入困境,看看東西(或嘗試在另一個答案中提到的自動轉換器)。差異並不大,所以它不會顯着延遲你的項目。由於VB.NET和C#代碼之間存在(幾乎)1:1的對應關係,因此通常可以使用「思考VB.NET」,然後在C#中編寫代碼。

在熟悉語法之後,google瞭解了VB.NET和C#之間的區別(例如,你可以在C#中做什麼,在VB.NET中不能工作 - 例如匿名方法),並且重寫那些地方C#允許更優雅的解決方案。

1

如果你有語言的基本掌握,我會建議通過工作在C#項目歐拉(http://projecteuler.net/)。它開始非常容易,慢慢變得越來越困難,需要您更多地瞭解[用於開發解決方案的語言]以解決問題。

如果您還沒有找到C#參考書,那麼選擇它可能很有意義。

我想你會驚訝你過渡的速度。

0

練習忘記VB.NET [:)],然後學習C#as a usual person would learn。我不認爲VB.NET編程人員有一些學習C#的特殊方法......你只需熟悉.NET類庫,這是一個優點。

+1

+1忘記。如果有一個討厭的vb標籤...我會得到白金徽章。 – snicker

3

這應該照顧#3

Comparision

+0

我看過很多比較文章,但是這是我的最愛.. 它爲大多數編程結構提供了c#和vb.net的示例代碼。 –

1

因爲編程在.NET中更多的是框架比在上面任何特定語言或語法,MSDN文檔是非常寶貴的穿越而過C#和VB因爲它包含一對一使用.NET公共元素的C#和VB.NET語法的示例。例如,如果您查找代表you will find the same sample in both syntaxes

對於語法特定的元素,其他人發佈了一些好的來源。

0

一個很好的練習就是試着理解其他人的C#代碼片段,並從頭開始重新編寫它們。這意味着你會遇到很多你需要查找和學習的東西,以便了解這些代碼片段正在做什麼。

好消息是,無論是在C#還是VB.Net中,.NET框架都承擔了大部分的重任,因此您可能會理解並認識到這些部分。在我的工作中,我使用了C#和VB.Net,並且我意識到,由於共享框架的原因,在實踐中語言並沒有那麼不同。

我仍然很喜歡C#,因爲我覺得它在某種程度上導致了更乾淨的代碼。