2009-01-21 21 views
0

使用我剛開始用C#和我好像微軟稱他們的新系統的.Net,因爲你必須利用互聯網尋找一切起來發現有用的功能和類他們藏匿它。C#.NET助記符和一般

對我來說似乎毫無意義,要求過程/函數編寫和設計,以獨立(非靜態實例對象)有自己的類不是也作爲自己的命名空間。

這就是爲什麼我不能使用Write或WriteLine而不是Console.WriteLine?然後當我開始習慣這樣的想法,即我正在使用的對象(如字符串)知道如何執行操作我習慣於使用外部函數來實現(如上,tolower,子字符串等)他們用數字改變規則,數字不知道如何將自己從一種數字類型轉換爲另一種數字類型,而不得不調用Convert類的靜態函數來將double變成int和Math類的靜態函數,以實現舍入和截斷..這會迅速將您的簡單(用其他語言)語句轉換爲C#中的gazillion字符行。

它也似乎癡迷於強烈的打字,這與我在編碼時的思維過程有些干涉。我明白類型安全可以減少錯誤,但我認爲這也會增加複雜性,有時會不必要地增加。如果你希望在沒有明確的Casting或Converting或ToStringing的情況下選擇上下文驅動的類型,這在C#中似乎是基本的必要條件,以便完成任何事情,那將會很好。

那麼......甚至有可能在記事本中寫出有意義的代碼,並且在無法訪問Internet的情況下使用cl?你會使用什麼樣的參考書,而不求助於自動完成和網絡訪問?

任何有關平滑此過程,以更自然地使用此語言的建議?

+0

你用什麼語言編碼? – johnc 2009-01-21 11:14:17

回答

3

對於記事本,我沒有任何有用的建議,但我建議你使用免費的IDE,微軟Express EditionsSharp Develop之一。 IDE將加速語言的交流,此時您可以切換回記事本。

8

我認爲你從你已經在幾年來以一種方式工作,而現在必須花時間使用讓自己感到舒服/在一個新的平臺開發的事實痛苦一點。

我不同意你的說法,那是一個字符串知道應該如何將其轉換爲另一種類型,和其他數據類型(如整型)不MS一直沒有對事實一致。 這是不正確的,因爲字符串本身並不知道它們應該如何轉換爲另一種類型。 (您可以使用Convert類將類型轉換爲其他類型)。但是,.NET中的每種類型都有一個ToString()方法,但是,您不應該依賴該方法將所有內容轉換爲字符串。

我想你從來沒有在面嚮對象語言中工作過,因此,您遇到的模式轉變一些困難。 這樣想:這完全是關於責任和行爲。一個類是(如果它設計得很好)負責做一件事,而且這樣做是好事。

4

沒有理由使用記事本來編寫現代語言。 SharpDevelop或Visual C#Express提供了以高效方式使用C#的功能。

沒有,由於複雜性,不使用互聯網作爲信息來源也不是一個好的選擇。

您可以購買一本書,以結構化的方式向您介紹該語言的概念,但要獲得最新的信息,互聯網是必要的。

是的,與其他語言一樣,C#也存在缺陷。我只能給你適應這門語言的建議。其中許多缺點在此之後就變得可以理解,即使其中一些不會變得不那麼煩人。如果你想知道某些語言結構是如何工作的或者如何更有效地解決特定問題,我建議你用示例代碼問清楚,直接的問題。這使得回答這些問題更容易。

1

使用記事本在c#中編程就像買一輛法拉利在土路上行駛一樣。

至少使用Visual Studio Express Edition。對於你寫的內容,我明白你來自非OO背景,試着學習OO概念並嘗試使用它。你最終會理解爲.Net做出的大多數設計決策。

http://en.wikipedia.org/wiki/Object-oriented_programming

3

讀你的文章,我在想,你用C或動態語言的工作主要是以前。也許C#對你來說只是一個錯誤的選擇,有IronPython,F#和一些其他語言具有必要的功能(如類之外的功能等)

我不同意你的一致性。實際上,.NET的某些組件之間存在小的不一致,但FW的大部分內容非常一致且可預測。

強打字是低缺陷數量的一個重要因素。動態打字在小型/中間項目(如腳本等)中起到很好的作用。或多或少複雜的程序動態會帶來很多複雜性。

關於互聯網/自動完成 - 我幾乎無法想象任何大小的.NET技術,不需要大量的知識來源。

0

哦,男孩我在哪裏開始與你(這將是一個很長的帖子哈哈哈),好吧,讓我們一點一點地去: 「微軟稱他們的系統.NET,因爲你必須使用Intenet ...」之所以稱爲.NET是因爲MICROSOFT LANGUAGUES SUITE(現在還有一些其他的Phyton和Ruby等)可以調用任何庫或DLL,例如你可以使用「NET」(網絡或調用)構建的DLL在Visual Basic中,F#,C++從WITHIN C#或從任何您可以稱爲(或「.NET」)的C#庫的任何語言。 OK一下!

下一個:「要求......讓他們的類不能作爲他們的命名空間」這似乎是無稽之談,這是因爲一個命名空間可以有多個類作爲你的意願,而你的問題: 「那是爲什麼我不能使用Write或WriteLine而不是Console.WriteLine?「。 原因在於:「Console」(System.Console hense程序開始處的「Using」語句)命名空間是「Write」和「WriteLine」LIVES !!(也可以完全限定它的名稱它「)(這一切在我看來,你需要學習C#語法),確定下一個:

」當我開始習慣的想法,對象...「,好吧在簡單的話: C#是一種「強類型安全的語言」,因此,應該告訴你什麼是「你正在接觸」,否則保持「弱或無類型安全語言」,如PHP或C等,這並不意味着它是壞的正如我告訴我的學生:「如果你需要一個INT然後定義一個INT,而不是讓編譯器爲你做,否則你會有很多的BUG」,換句話說,家庭作業在設計軟件之前。

注意:C#是IMPLICITY TYPE SAFE語言如果您希望您可以將其作爲UNSAFE運行,那麼它將確保您的工作,所以在BUG到達時不要抱怨(因爲是懶惰)很多時候客戶已經在使用你的蹩腳軟件)。

......最後但並非最不重要的是:乳清你想用自己的記事本拍攝自己嗎? Studio Express是免費的,即使數據庫SQL SERVER是免費的,除非你爲一家公司工作,我會問PRO,等等。所有「額外」的東西都是針對大公司,團隊等的,你可以用99%的免費版本完成任務(你可以購買更新到完整版本,一旦你想擴展到分佈式軟件或大型項目,或者如果你的軟件變得非常受歡迎,例如:如果你需要數百萬個查詢,或者從你的數據庫訪問PER SECOND,或者有100個人在同一個項目(代碼)上工作,但是大多數時候爲2或3個「普通」開發者在家或小辦公室工作的免費一切都是!)

cherrsss !!! (PS:80年代以來的軟件開發人員)