我是编程的新手,我正在考虑使用C#编写一个非常简单的程序,只需编辑一个文本文件。
答案 0 :(得分:20)
是的,感谢Mono项目,C#是跨平台的。但请记住,这是第三方实现,而不是来自Microsoft。因此,最新的.NET运行时或C#语言版本的任何前沿功能都可能无法实现。
答案 1 :(得分:7)
对某些人来说很难回答这样的事情,他说他只是开始编程,但我会尝试给你一个(有点简化)的概述:C#是一种语言,它被编译成一个可执行程序。只要在每个目标平台上都有编译器,语言本身就可以在平台之间移植。在Windows上,您有“默认”.Net实现,在Linux / Mac上,您有Mono。要做一些有用的事情 - 比如编辑文件 - 你必须使用一些库。每个平台都有一个标准库。只要您只使用该功能,您的程序就会变成平台。显然,只要您使用某个特定于某个平台的库,就不会跨平台。编辑文件是标准库的一部分,因此您可以以交叉平台的方式实现这些简单的工具。选择一本书时,你应该寻找专注于“原始”语言而不是Visual Studio或其他特定工具的书籍。
答案 2 :(得分:6)
现在C#是完全跨平台的,具有各种框架和运行时间。
Java是一种语言+框架。但C#只是一种现代语言。 C#语言功能非常强大,易学。框架和语言之间没有混淆。
C#可以在以下框架中使用
Java - 代码一次,将同一文件发送到所有平台
C ++,C,Rust - 代码一次,针对特定平台进行编译
C# - 它只是一种语言,根据要求选择框架。
Chrome,Firefox等大多数热门应用程序都使用C ++,Rust,它们是针对每个平台编译的。但他们仍然在这些平台之间共享大部分代码。有些游戏使用C ++在IOS和Android之间共享代码。
对于新开发者来说,从NodeJS和C#开始是件好事。两者都很简单,可以做任何类型的应用程序。
答案 3 :(得分:5)
来自Microsoft的一个名为CoreCLR的新开源版本是跨平台的,现在可用于此
CoreCLR repo包含.NET Core的完整运行时实现。它包括RyuJIT,.NET GC,本地互操作和许多其他组件。它是跨平台的,正在进行多个OS和CPU端口。 - from the CoreCLR repo
答案 4 :(得分:3)
我不建议将c#作为多平台编码的首选。我建议使用python,它甚至可以作为脚本运行,并且可以在所有平台上完美运行。如果你坚持c#准备处理Justin Ethier解释的同样问题。另一方面,Python对所有平台来说都是一样的,它超级强大,甚至包装准备连接到其他语言。
答案 5 :(得分:2)
This article总结了如何使用C#编写可移植应用程序。
答案 6 :(得分:1)
C#是跨平台的,你可以在Windows / Linux和Mac上运行你的程序。但是对于Linux,您需要运行它using mono
答案 7 :(得分:1)
如果你是新手并且不坚持使用C#,那么试试Java,它离C#语法不远,并且正在运行
AppBar
与Mac / Linux / Win相同。
答案 8 :(得分:1)
由于.NET Core,C#是跨平台的,但是如果没有跨平台的用户界面库,则只能使用它制作非常基本的控制台程序。为了制作适用于Windows,Mac和Linux的跨平台应用程序,您需要一个跨平台的用户界面库,例如Nevron Open Vision
答案 9 :(得分:0)
是的,由于.NET Core,C#完全跨平台。 .NET Core是适用于Windows,Linux和macOS操作系统的免费和开放源代码的托管计算机软件框架。它是仅在Windows上运行的.NET Framework的跨平台继承者。该项目主要由Microsoft(通过.NET Foundation)开发和支持。