如何學習程序語言比如C#之類?
02-08
一年級的基礎課有程序設計·,學的是C#,但是我發現我完全搞不懂,老師講得快然後內容也沒有解釋得很清楚。自己看書一大堆各種不能理解的東西。
恩就比如這樣:private void button_3_Click(object sender, EventArgs e) { Button btn = (Button)sender;string 數字 = btn.Text;
if (textBox_輸入值.Text == "0") { textBox_輸入值.Text = 數字; //取代 } else { textBox_輸入值.Text = textBox_輸入值.Text + 數字; } }private void button_清除_Click(object sender, EventArgs e)
{ textBox_輸入值.Text = "0"; textBox_目前值.Text = "0"; textBox_運算符號.Text = ""; }老師講了兩節課的內容,我完全抓瞎哈哈哈哈。但是又不想這門課掛掉啊。我看不懂那些英文的含義,然後經常很多步驟會記錯之類。有沒有什麼比較好的方法來學習C#呢?
@蕭岳說的很對,C#這種語言如果有了一定基礎再學,是會非常快的,我記得我基本一周就入門了,但我之前是有C/C++, java, javascript和python的經驗,所以裡面的很多概念其實對我來講都熟悉,只是換了一種表述方式。
先說你上面列出的代碼,其實說白了就是個點擊滑鼠的過程,當在button上點擊滑鼠的時候,textBox里的值就會根據btn里的值改變。雖然沒有具體學過C#的event,但第一次看到C#這種代碼的時候,我很容易就聯想到call back function的一些概念,所以理解起來很快。可對於初學者來講難度有其是還是有的。
我覺得你可以不必在意這些,先把重心放到語言的一些基本的概念上,然後了解面向對象編程的一些概念,如果英文不錯的話這裡有兩個教程一個是MSDN的C# Programmers Reference (C#)還有一個是The complete C# Tutorial。如果毫無編程經驗可以先看The complete C# Tutorial然後以msdn的作為輔助。要是有java或者c++這些面向對象編程的經驗可以直接看C# Programmers Reference (C#)理解C#里的特性,逐步深入。開始的時候可以用實現各種演算法作為入門練習,當很多概念和.net裡面的數據結構都熟悉後,就可以玩一點asp.net或者做一些windows app。總的來講就是 @vczh 大神說的多寫程序。但關於C#的書,我有一點點不同意 @vczh的大神的看法,我覺得是關於C#入門的書好書並不多,但如果是有一定的經驗,關於C#高級應用的好書的還是有幾本的,比如宇宙無敵大神Jon skeet的的C# in Depth, 和Jeffrey Richter 的CLR via C# 都是很不錯的書,後者雖然是講CLR的,但我覺得還是和C#是相輔相成的關係,理解了CLR對C#編程會有相當大的幫助(話說前一段聽Jeffery的課,真是對C#和CLR的理解有醍醐灌頂的感覺)。最後的話,多為M$做貢獻,其實M$還是有很不錯的C#開源項目的,可惜大家都不陪M$玩。。。C#好書不多,好在學習曲線平緩,自己摸摸還是可以最終掌握的。你花點時間多寫幾個程序,就可以了。
額…作為一個沒系統學過C#課程,學長學姐帶著、實驗室項目驅動幹了一年半c#開發的大二娃不請自答。不說老師課程,都懂的。倒不是老師沒講好,課堂很多內容但是實際聽了沒寫過馬上忘……等同沒聽。怎麼學呢?如樓上
@vczh 先生說的,C#的好書真心不多,看了好多都講的好亂。
但是一上網就發現,微軟MSDN上面的資料說明詳細得很啊,很多基礎的東西裡面都有,多看看這個。然後就是各種大牛的博客……
還有真的想學的話,隨便找個小功能的項目看一下源代碼就很快上手了。最後回答一下你的代碼:button的點擊事件,然後改變txtbook的值……還有一個,在VS裡面把滑鼠移到對應代碼的位置,會有很多關於那個代碼的說明的……放心,中文說明。別的……請私信。如果這是頭兩節的內容對於沒有任何編程經驗的人來說我認為是不合適的
儘管內容很簡單
起碼應該先講講函數吧沒有講基本語法?莫非就是傳說中的先點這裡,再點這裡,雙擊按鈕給按鈕的click事件加代碼?聽上去像選修課的節奏啊,專業課這麼教那不得把學生坑慘了。題主說的什麼簡易記事本,瀏覽器,計算器確實能這麼做出來,但有什麼用啊。如果僅僅為了考試能過,記住順序就好了。如果想學會還是先學c#基本語法,再學winform或wpf。
作為一個正在自學C#的大一新生,並且已經在用C#做項目。我覺得還是先弄明白一些基本數據類型和條件控制語句吧,所有的程序都是由這些組成的,像那些組件控制項完全可以在VS上面隨便探索一番,好奇心會讓你走得更遠。
我覺得重要的中心思想 vczh 都說了。雖然在大一年級初接觸編程的時候可能不太能理解:-)項目驅動效果最佳。大一的編程課……好吧,如果老師選了C#,也算是個比較簡單的入門方式。。。推測重點估計旨在讓大家對編程有直觀的認識吧。還是從對每種類C語言都適用的控制語句、循環、變數、函數什麼的學起吧。(其實深入一點的話,C#的優勢是在以.net為基礎的一些特性上,不過似乎不適合在初入門零基礎時討論。另外數媒專業的話,Unity引擎的API是用C#的,或許對你以後做小項目有好處呢)wrox在這方面出的書還算可以看。如李國寶所言,MSDN是最好的老師,而且這裡面隱含了一個道理叫做「學會通過文檔學習新的工具/語言」。一定要紙本的話,《C#高級編程》,貌似當年大學時用的是它,也許不是最好的,但做參考書應該是夠用了。可能有初級的書,我不是很了解——原則上買優秀出牌社的譯作,不要選」速成「之類的。書上的例子和題目很全面,裝好環境,多寫,多練,很快就會好起來的。
多寫幾個小工具。在書店看到一本叫《.NET之美:.NET關鍵技術深入解析》的書感覺還不錯。
推薦閱讀: