首次启动 C# 控制台应用程序时的不同行为
Different behaviour on first launch C# Console app
我制作了简单的控制台应用程序,可以在免费网络版 office365 中打开 office 文档。
资源:
https://github.com/Norrica/OfficeEmulator/blob/master/Program.cs
它只是将文件移动到 OneDrive 文件夹并使用 link 作为参数启动默认浏览器。 Link 包含唯一 CID:
https://onedrive.live.com/sync?ru=https://d.docs.live.net/{CID}/{fileName}}
目前,此 CID 在源代码中是硬编码的,但我希望用户能够在我的应用程序首次启动时设置一次。
TL;DR:
如何为控制台应用程序的首次启动实现不同的行为?
如果只是为了这个简单的控制台应用程序,您可以在 class 中添加一个字符串字段,并在启动应用程序后提示用户输入。这将在用户 每次 启动应用程序时提示。
class Program
{
string _cid;
static void Main(string[] args)
{
...
_cid = Console.ReadLine();
// you can do some validations for the input here, and ask for another input if it's not valid
...
}
}
如果您只想在用户第一次他启动应用程序时提示用户,那么您需要将这些值存储在数据库中,或者像 redis 这样的内存数据存储中等。但考虑到提供的应用程序是某种练习,您可以将其存储在 config 中以供演示。然后您可以在您的存储中查找用户 ID,如果该用户 ID 存在当前 CID 值,您将知道不再提示用户输入。
现在,如果您想知道这是否是用户第一次在该特定机器上启动应用程序,您将需要存储额外信息并进行额外检查...
我制作了简单的控制台应用程序,可以在免费网络版 office365 中打开 office 文档。 资源: https://github.com/Norrica/OfficeEmulator/blob/master/Program.cs
它只是将文件移动到 OneDrive 文件夹并使用 link 作为参数启动默认浏览器。 Link 包含唯一 CID:
https://onedrive.live.com/sync?ru=https://d.docs.live.net/{CID}/{fileName}}
目前,此 CID 在源代码中是硬编码的,但我希望用户能够在我的应用程序首次启动时设置一次。
TL;DR: 如何为控制台应用程序的首次启动实现不同的行为?
如果只是为了这个简单的控制台应用程序,您可以在 class 中添加一个字符串字段,并在启动应用程序后提示用户输入。这将在用户 每次 启动应用程序时提示。
class Program
{
string _cid;
static void Main(string[] args)
{
...
_cid = Console.ReadLine();
// you can do some validations for the input here, and ask for another input if it's not valid
...
}
}
如果您只想在用户第一次他启动应用程序时提示用户,那么您需要将这些值存储在数据库中,或者像 redis 这样的内存数据存储中等。但考虑到提供的应用程序是某种练习,您可以将其存储在 config 中以供演示。然后您可以在您的存储中查找用户 ID,如果该用户 ID 存在当前 CID 值,您将知道不再提示用户输入。
现在,如果您想知道这是否是用户第一次在该特定机器上启动应用程序,您将需要存储额外信息并进行额外检查...