Sou*_*tem -1 c# platform operating-system
我正在编写文件 I/O 代码
我发现每个操作系统使用不同的换行符
所以我想编写一个对于每个操作系统都有不同工作方式的代码,
如下代码所示
if(isWindows)
{
Console.Write("Hello World\r\n");
}
else
{
Console.Write("Hello World\n");
}
Run Code Online (Sandbox Code Playgroud)
如果您知道好的方法请告诉我!
如果您只想检查换行符,可以使用System.Environment.NewLine。对于非 Unix 平台,这将返回 \r\n;对于 Unix 平台,这将返回 \n。
Console.Write("Hello World" + System.Environment.NewLine);
Run Code Online (Sandbox Code Playgroud)
但是,如果您需要为每个操作系统实现单独的代码逻辑,则可以使用RuntimeInformation.IsOSPlatform。该方法可以识别以下平台:
你的代码看起来像这样:
if (System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(System.Runtime.InteropServices.OSPlatform.Windows))
{
Console.Write("Hello World\r\n");
}
else
{
Console.Write("Hello World\n");
}
Run Code Online (Sandbox Code Playgroud)