C#应该怎么学?C#比C++简单,可是我感觉还是很难
3个回答
展开全部
不难,你学过C++的话,肯定学.Net(C#)要容易得多
首先,它的流程控制与C++没有任何区别,你根本就不用学(改进了一些,比如说switch要求更严格,不能缺break)
其次,C#对类型的要求更严格,这一点应该更好学(你不用担心字符还要算内码运算什么的了,C#中的char要转内码必须强制转换)
再次,面向对象的概念更严格,完全以类为单位(再也没有全局成员,如C++中的全局main函数)
还有,没有指针(这是重点),除非允许不安全(unsafe)代码。指针完全以引用替代。
最后,类的概念和继承更简单化,取消了多继承,并增加了内存回收机制,一般不需要写析构函数什么的了。
关于面向对象的几个概念的转化(C++到C#需要注意的)
C#中的类最多只能继承自一个基类,不像C++可以继承多个,C#是使用接口实现多重继承的
C#中的属性相当于C++中你在public处写的getXXX和setXXX函数,可以为private成员赋值或取值
C#中的类可以设置访问级别(默认internal,还可以是private或public等),C++没有(类默认就是public的)
C++中的纯虚函数(后面写=0的函数)=C#中的抽象(abstract)函数
C++中的抽象类=C#中的抽象(abstract)类
C++中的虚基类=C#中的接口
C#一般不用友元,除非允许不安全(unsafe)代码
其实C#很多东西更类似Java,不过学过C++的人,学Java问题也不大
首先,它的流程控制与C++没有任何区别,你根本就不用学(改进了一些,比如说switch要求更严格,不能缺break)
其次,C#对类型的要求更严格,这一点应该更好学(你不用担心字符还要算内码运算什么的了,C#中的char要转内码必须强制转换)
再次,面向对象的概念更严格,完全以类为单位(再也没有全局成员,如C++中的全局main函数)
还有,没有指针(这是重点),除非允许不安全(unsafe)代码。指针完全以引用替代。
最后,类的概念和继承更简单化,取消了多继承,并增加了内存回收机制,一般不需要写析构函数什么的了。
关于面向对象的几个概念的转化(C++到C#需要注意的)
C#中的类最多只能继承自一个基类,不像C++可以继承多个,C#是使用接口实现多重继承的
C#中的属性相当于C++中你在public处写的getXXX和setXXX函数,可以为private成员赋值或取值
C#中的类可以设置访问级别(默认internal,还可以是private或public等),C++没有(类默认就是public的)
C++中的纯虚函数(后面写=0的函数)=C#中的抽象(abstract)函数
C++中的抽象类=C#中的抽象(abstract)类
C++中的虚基类=C#中的接口
C#一般不用友元,除非允许不安全(unsafe)代码
其实C#很多东西更类似Java,不过学过C++的人,学Java问题也不大
展开全部
C#是界面开发,C++一般是指针开发。
安装一个VS2012,如果是用C#来开发.net。那就要专门去学习代码了。
C#不但可以开发基于.net的应用程序,也可以开发基于WinForm的程序,你可以把 .NET当做一个工作平台一般,它是一个开发环境的基底,提供了解其运作的相关机制那是有助于你利用它来开发。C#和 .NET主要是应用在网际网路。
安装一个VS2012,如果是用C#来开发.net。那就要专门去学习代码了。
C#不但可以开发基于.net的应用程序,也可以开发基于WinForm的程序,你可以把 .NET当做一个工作平台一般,它是一个开发环境的基底,提供了解其运作的相关机制那是有助于你利用它来开发。C#和 .NET主要是应用在网际网路。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
学编程语言的初学者主要是在关注语言的语法本身的学习量和难易程度,而不是关注语法掌握之后这门语言在实际开发过程中使用的难易。而这里两个难易往往并不一定是一致的。
很多时候一个语法知识点的概念本身并不难理解,但是到实际开发当中的运用却不容易。比如指针,C语言C++语言都有,我初学入门的时候从来没有认为它们的语法概念本身有什么难掌握的,但是实际开发中的编程指针显然是容易出错难于驾驭的。
再者,JAVA, 尤其是C#语言,经过这么多年的发展,一个接一个的新版本面世一个个新的语法知识点加入之后,已经和当初的简易单纯完全大相径庭了,它们都变得非常庞大复杂。如果只是比较语法知识点的掌握,说真心话它们一点也不比C++容易或者学习量少,甚至完全可以说更难更多一些。任何说C++内容比JAVA尤其是C#还多的人,要么是人云亦云根本就没有自己比较过,要么就是睁着眼睛说瞎话地自欺欺人。如果以前没有其他面向对象语言的学习经历,想在几天或者几周不到一个月就搞清楚很多繁杂的细节几乎是不可能的。号称JAVA,C#是一种简化易学的编程语言,短短几天就可以精通(即便你以前学过C++!)的日子已经一去不复返了。不幸的是还是有很多人在拿十几年前二十年前的老黄历来说事,根本不顾现实的发展!
无论中国美国,低手还是高手,我见过很多。真正的情况是即使他们工作多年,也没有一个人能真正达到一本厚度哪怕在区区500页(英文原版超过800甚至1000页的很普遍)以内的JAVA C#编程语法书里面任何语法知识点都能达到烂熟于胸的程度。我手上现在有一本《C# 4.0图解教程》中译本,仅469页,里面内容就够丰富了。不服的你可以过来,我考你这本书上的知识点我看你是不是90%以上都真正掌握了?!就算你5年哪怕10年工作经验,我也不信你能熟练到本书99%内容都牢牢掌握在在心中而绝对无需查阅复习!只有本书的作者“几乎”可以做到这点!而这种高手是屈指可数的。
大多数程序员都是只记忆或者只学习基本的语法,有不少语法点尤其是最新加入的功能在实际工作中根本就不用,即使要用到时候现学现卖也来得及。况且还有GUI IDE的语法自动提示呢,如果没有自动提示估计很多程序员的饭碗都端不稳了。也许你下载过不少培训班比如传智播客和尚硅谷的视频教程,往往被老师的熟练程度所折服,殊不知这些老师教的仅仅是最常用的那些,况且他们长年累月天天就只教那一点,想不熟都不行啊。一门编程语言就如同一本英文词典,您是要词典上每个单词都背出来每个语法知识点都熟练了,才能去生活工作中运用语言解决实际问题吗?显然不是!所以,不要怕它们繁杂它们难,先掌握最基本的就去工作,在工作中慢慢再弄熟练和真正掌握吧。
请端正您的观点:认为C#或者Java语法很容易,或者比C++简单,这根本就是过时的错误论点,早就该大加批判了!
很多时候一个语法知识点的概念本身并不难理解,但是到实际开发当中的运用却不容易。比如指针,C语言C++语言都有,我初学入门的时候从来没有认为它们的语法概念本身有什么难掌握的,但是实际开发中的编程指针显然是容易出错难于驾驭的。
再者,JAVA, 尤其是C#语言,经过这么多年的发展,一个接一个的新版本面世一个个新的语法知识点加入之后,已经和当初的简易单纯完全大相径庭了,它们都变得非常庞大复杂。如果只是比较语法知识点的掌握,说真心话它们一点也不比C++容易或者学习量少,甚至完全可以说更难更多一些。任何说C++内容比JAVA尤其是C#还多的人,要么是人云亦云根本就没有自己比较过,要么就是睁着眼睛说瞎话地自欺欺人。如果以前没有其他面向对象语言的学习经历,想在几天或者几周不到一个月就搞清楚很多繁杂的细节几乎是不可能的。号称JAVA,C#是一种简化易学的编程语言,短短几天就可以精通(即便你以前学过C++!)的日子已经一去不复返了。不幸的是还是有很多人在拿十几年前二十年前的老黄历来说事,根本不顾现实的发展!
无论中国美国,低手还是高手,我见过很多。真正的情况是即使他们工作多年,也没有一个人能真正达到一本厚度哪怕在区区500页(英文原版超过800甚至1000页的很普遍)以内的JAVA C#编程语法书里面任何语法知识点都能达到烂熟于胸的程度。我手上现在有一本《C# 4.0图解教程》中译本,仅469页,里面内容就够丰富了。不服的你可以过来,我考你这本书上的知识点我看你是不是90%以上都真正掌握了?!就算你5年哪怕10年工作经验,我也不信你能熟练到本书99%内容都牢牢掌握在在心中而绝对无需查阅复习!只有本书的作者“几乎”可以做到这点!而这种高手是屈指可数的。
大多数程序员都是只记忆或者只学习基本的语法,有不少语法点尤其是最新加入的功能在实际工作中根本就不用,即使要用到时候现学现卖也来得及。况且还有GUI IDE的语法自动提示呢,如果没有自动提示估计很多程序员的饭碗都端不稳了。也许你下载过不少培训班比如传智播客和尚硅谷的视频教程,往往被老师的熟练程度所折服,殊不知这些老师教的仅仅是最常用的那些,况且他们长年累月天天就只教那一点,想不熟都不行啊。一门编程语言就如同一本英文词典,您是要词典上每个单词都背出来每个语法知识点都熟练了,才能去生活工作中运用语言解决实际问题吗?显然不是!所以,不要怕它们繁杂它们难,先掌握最基本的就去工作,在工作中慢慢再弄熟练和真正掌握吧。
请端正您的观点:认为C#或者Java语法很容易,或者比C++简单,这根本就是过时的错误论点,早就该大加批判了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询