我正在使用 c# 创建一个 Windows 窗体应用程序,如果它传递了一个包含文件路径的参数,它可以在启动时打开一个文件。
但是,它不能准确确定参数是否已传递。即使我没有传递任何参数,它仍然会尝试打开一个文件。
这是我的代码:
string[] args = Environment.GetCommandLineArgs();
if (args == null || args.Length == 0)
{
}
else
{
try
{
ListData ld = new LmReader.LmReader().readLmList(args[0]);
listItemsList.Items.Clear();
foreach (ListItemList li in ld.lil)
{
ListViewItem lvi = new ListViewItem(li.text);
lvi.Font = li.itemFont;
listItemsList.Items.Add(lvi);
}
filenameOpen = selectOpenLocation.FileName;
this.Text = "List Maker - " + Path.GetFileNameWithoutExtension(args[0]);
}
catch (Exception ex)
{
new Error().doError("Your list could not be opened.", ex);
}
}
我做错了什么?
最佳答案
Environment.GetCommandLineArgs()
始终至少返回一个参数,即可执行文件名,然后包含您可能已传入的参数。
所以这就是为什么你的 if 条件不匹配
关于C# - 确定参数是否已传递失败的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20935945/