Jon*_*eet 28
即使有这样的工具,我强烈建议您手动进行转换.自动转换器通常会忠实地重现代码,但忽略了成语 - 因为它们真的很难做到.
此外,.NET和Java中的泛型之间的差异可能导致两个代码库中的一些非常不同的决策.
真的,你最好手工做.
alf*_*dev 26
一个很好的工具叫做Sharpen,它是开源的.
此工具已被分叉并通过Xamarin团队更新,他们用它来翻译了Android的API为C#.他们的副本可以在这里找到:
Ras*_*ber 16
Java语言转换助手.(可选)安装(至少)Visual Studio 2005标准版.
选择文件/打开/转换/ Java语言转换助手.
请记住之后手动检查代码.它会有很多问题.
虽然这两种语言的语法看起来很相似,但语义却大相径庭.提到一些地方,这两种语言误入歧途
换句话说,您将无法自动进行此类转换.如果更改为C#的原因是为了能够将代码转换为.exe文件,那么Java市场中也有各种选项.
现在,我正在测试有形解决方案(这不是免费的)
它还增加了一个Class Helper.但在它之外,结果看起来很好.
Java :(原创)
public class PackVariableArrays {
private ClassError myerror=new ClassError();
public VariableArrays unpack(String txt) {
VariableArrays pc = new VariableArrays();
Variable lc;
txt=txt.replace("\r\n","\n");
setMyerror(new ClassError());
if (txt==null) {
lc=new Variable();
lc.name="ERV-5: Empty values";
pc.addItem(lc);
return pc;
}
String[] linecode = txt.split(ClassUtil.SEPARATOR2);
int blen = 0;
int tmpint = 0;
int numelement = 9999;
Run Code Online (Sandbox Code Playgroud)
C#(转换)
public class PackVariableArrays {
private ClassError myerror =new ClassError();
public virtual VariableArrays unpack(string txt) {
VariableArrays pc = new VariableArrays();
Variable lc;
txt=txt.Replace("\r\n","\n");
Myerror = new ClassError();
if (txt==null) {
lc=new Variable();
lc.name="ERV-5: Empty values";
pc.addItem(lc);
return pc;
}
string[] linecode = StringHelperClass.StringSplit(txt, ClassUtil.SEPARATOR2, true);
int blen = 0;
int tmpint = 0;
int numelement = 9999;
Run Code Online (Sandbox Code Playgroud)
这是一个简单的案例,但它工作正常.但是,正如我早期所说,它使用了一个很好的类助手(StringHelperClass.StringSplit),但它是不必要的.在它之外,结果代码非常清楚.
归档时间: |
|
查看次数: |
49497 次 |
最近记录: |