如何在 .NET Core 控制台应用程序中获取 MacOS 用户名?

How to get MacOS username in .NET Core console app?

我在 MacOS 的 .NET Core 中有一个 (C#) 控制台应用程序。

如何获取当前用户名?

我试过了

Environment.GetEnvironmentVariable("USER");

Environment.GetEnvironmentVariable("USERNAME");

但我什么也没得到。

我想根据此处描述的提示尝试 P/Invoke 对抗 getpwuid()

但我不确定 passwd 结构的 C# 语法应该是什么。

对此表示感谢的任何帮助,以及任何指向 P/Invoke 资源的指针,可以帮助我学习 P/Invoke 从 .NET Core 到 MacOS 本机代码的技巧。

Console.WriteLine("UserName: {0}", Environment.UserName);