Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将c#转换为纯java?_C#_Java_.net_Android_Cross Platform - Fatal编程技术网

将c#转换为纯java?

将c#转换为纯java?,c#,java,.net,android,cross-platform,C#,Java,.net,Android,Cross Platform,可能重复: 我对Java不是很有经验,我有很多C语言,我想把它们翻译成Java语法,这样它就可以编译了 原因:Android和谷歌云 我知道API/平台有不同的结构,但我们不需要100%的兼容性,只需要翻译“核心功能”。据我所知,GUI本身就是一个故事。但是,与其重写每一个SWITCH-CASE,不如重建每一个类等等。最好将对象“映射”到Java equals,然后在Android/Google平台上重新编译 我肯定会有一些东西不能翻译为“C#only thing”-但就像每种语言都可以生成.

可能重复:

我对Java不是很有经验,我有很多C语言,我想把它们翻译成Java语法,这样它就可以编译了

原因:Android和谷歌云

我知道API/平台有不同的结构,但我们不需要100%的兼容性,只需要翻译“核心功能”。据我所知,GUI本身就是一个故事。但是,与其重写每一个SWITCH-CASE,不如重建每一个类等等。最好将对象“映射”到Java equals,然后在Android/Google平台上重新编译

我肯定会有一些东西不能翻译为“C#only thing”-但就像每种语言都可以生成.NET/MONO一样,我想可能也有一个Java->.NET可用,因此也是一个反编译器之类的东西


那么,有没有简单的方法可以通过框架、SDK或其他类似的方法来克服这种转换,这些方法将自动占用80-95%的任务?

.NET和Mono是兼容的,因为它们都是运行C代码的虚拟机。声称允许您在JVM上运行.NET类,但我没有使用它。它对Android根本不起作用,因为Android不是JVM,而是

C#和Java之间的区别不仅仅是你所说的“结构化”,从一种语言到另一种语言的翻译比我认为你所理解的要复杂得多。

看看这里:


但除此之外,还有一些c#概念不容易翻译成java

我知道微软有一个工具可以帮助将Java转换成C#,但是考虑到大量Java应用程序引用主系统之外的库(apache是最突出的例子),这种工具将是一项艰巨的任务

C#还具有Java中根本不支持的数据类型,如无符号类型和堆栈分配对象。将CLR翻译成Java字节码确实很困难。如果您在代码中使用lambda函数,请与此想法吻别

还有一个事实是,并非Java中的所有语言特性都可用于Davlik JVM

我不是微软的粉丝,但这里有两种语言的比较,可以让你知道为什么我怀疑这个工具的存在


该死!为什么我在搜索时没有发现。。。因为我找到了。我也按照前面提到的思路找到了这个:我不说语言是平等的,但希望尽可能多地重用,并关注“最后的零碎”。所以我们可以用Java编写20%的调整代码,剩下的代码将被转换。但我可能错了。看起来也很有趣哦,但有些工具是存在的,我刚学的。我不是在说一个100%的解决方案,而是一个可以带走我大部分工作中的蹩脚重做的东西。业务逻辑或类/结构的后端代码很容易自动获取。特定Web服务器的API不是我们想要翻译的,因为不同的平台有不同的可能性。但如果你把这些电话封装到更普通的商务类中,那么你只需要关注那些公关平台。祝你搜索好运,朋友。您是否考虑过将此逻辑实现为C#中的Web服务,然后从客户端应用程序调用所需的内容?我不知道你的详细情况,但这似乎是一种更快的方式。