国内大多数大学的软件相关专业大多强制学生学习c和Java,但.net 的几个语言可以说是选学的。
由于visual studio在windows平台上使用相对方便,一些同学会在上大学的Java课之前自学.net开发技术。
这一类同学就需要一些代码转换技巧来帮助学习Java。
转载请说明作者Nukepayload2
在这之前我吐槽一下TinyMCE编辑器,它不能正确染色一些vb.net的关键字,比如Async, NameOf, Aggregate 。c#的某些关键字也不能正确染色,如__arglist。
由于我这学期才开始上Java课,代码中出现的错误欢迎大家指正。
1. 枚举类型
VB
Public EnumDirection Right = 1DownRight
DownDownLeft
Left
UpLeftUp
UpRightEnd Enum
C#
public enumDirection {
Down = 1,
DownLeft,
Left,
UpLeft,
Up,
UpRight,
Right,
DownRight
}
转换成Java是这样的。感觉跟c++/cli和c++/cx的enum class差不多。
如果原先的枚举比较长,最好写个小程序转换一下。
public enumDirection {
Down(1),
DownLeft(2),
Left(3),
UpLeft(4),
Up(5),
UpRight(6),
Right(7),
DownRight(8)private int__value; private Direction(intvalue) {this.__value =value;
}
@OverridepublicString toString() {return String.valueOf(this.nCode);
}
}
那个__value是我抄.net参考源码的,如果看不顺眼可以改名。
2.异常
Java的异常如果不是RuntimeException这一类的,就得用Throws 声明,否则像AccessViolationException这一类错误一样只能在UnhandledException(ErrorListener)那里处理。
转换代码的时候写一堆Throws比较麻烦,写了一层就忘了下面那一层有什么异常了。
这个比较好办,只要不是致命的异常,那自定义异常就都继承RuntimeException好了。自带的几