2009-01-21 23 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年代以来的软件开发人员)