The sudo is for the runtime permissions, not the installation, of the program. dotnet requires (does it? it's been a while since I touched it but I vaguely recall this) sudo for installation, but not for execution.
• .NET installers install to systemwide locations and therefore typically require elevated privileges.
• Microsoft supplies both install scripts (dotnet-install) and .tar.gz/.zip archives to support unprivileged installation to arbitrary locations on all supported platforms.
• The SDK and self-contained .NET executables run from anywhere, but certain SDK functionality may require elevated privileges on some platforms (e.g., installing a trusted self-signed developer certificate).
• Framework-dependent executables use the DOTNET_ROOT environment variable to locate runtime components installed in a non-default location.