百科问答小站 logo
百科问答小站 font logo



java转C#的学习路线? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

Java转C#其实是非常简单的,毕竟C#本来就是在Java的基础上改进而来的。

所以纯粹只是写C#程序的话,我想熟悉一下一些基本类库应该是毫无鸭梨了,至于之前在Java上熟悉的类库,很多都有.NET的移植版。



但是如果想要真正写好C#的话,恐怕Java程序员反而会遇到一些障碍。虽然C#和Java是非常相似的一门语言,但是经过多年的发展,C#引入的新的特性为这门语言带来了太多的变化,而需要写好C#,则一定要了解这些特性的运用,以及摒弃Java中的不良习惯。(我能说绝大多数Java移植类库的编码风格和API都惨不忍睹么?)

最基本的,从遵循C#的编码规范开始,例如接口命名需要以I开头,方法需要用Pascal大小写规则,暴露属性而非字段,使用委托和事件以及匿名方法,使用Attribute而非标记接口,抛弃try...catch恶习等。

进阶的包括灵活运用泛型约束、泛型委托来解决问题,灵活运用LINQ、params、ref、await等技术,灵活运用各种技术来设计面向使用者方便的API。

再进一步的,了解表达式树构建和表达式树可以带来的能力,了解值类型和引用类型的区别,了解栈对象和指针操作,了解P/Invoke及COM互操作技术,CodeDom自动代码构建技术。使用声明性代码而非命令性代码。



最后,开源的.NET Framework是一个大宝库,在那里你能找到所有你所需要了解的。




  

相关话题

  为什么java的jdk已经更新到了15,但是身边很多人还用的jdk8呢? 
  服务器集群为什么节点间通信为什么要用到RPC,这个是为了解决什么问题? 
  为什么程序代码被编译成机器码就不能跨平台运行? 
  c#中虽然异步和多线程是两码事,但是是否异步微软提供的async函数内部还是多线程去实现的? 
  为什么有人说 Java 的跨平台很鸡肋? 
  软件开发中遇到需要引用的两个库包含的某个同名DLL版本不一致的情况应该如何处理? 
  对容器类做改变的设计是否存在天生的错误? 
  性能最强的编程语言是什么? 
  C#中的引用类型在堆栈(内存)中是怎么工作的? 
  每天学自学 3~4 小时 java ,一年后能到什么程度? 

前一个讨论
QR 二维码在不影响扫码的情况下,哪些部分可以删除?
下一个讨论
如何向高中生解释「薛定谔的猫」这个实验?





© 2025-05-10 - tinynew.org. All Rights Reserved.
© 2025-05-10 - tinynew.org. 保留所有权利