此foreach
旨在浏览列表,当找到匹配项时,它返回 next 元素。可以改善吗?
public static string GetCommandLineArg(string arg)
{
var doreturn = false;
foreach (var item in Environment.GetCommandLineArgs())
if (doreturn)
return item;
else if (arg == item)
doreturn = true;
return null;
}
我关心的部分是下一项的退还。
内部if
语句很混乱,似乎不需要使用额外的变量。是否有一个简单的函数调用或属性可以与foreach
一起使用来返回下一个项目?
答案 0 :(得分:10)
Linq的方法
netsh http add sslcert ipport=0.0.0.0:44302 certhash=<thumbprint> appid={id from step 3}
答案 1 :(得分:1)
它一定是前叉环吗? for循环会更简单吗?
var items = Environment.GetCommandLineArgs();
for (int i = 0; i < items.Count(); i++)
{
var item = items[i];
if (arg == item && i < items.Count())
return items[i+1];
}
答案 2 :(得分:0)
我认为您不应该总是搜索右键,而应该将整个参数解析为键值集合,然后按键检索它们:
async function(){
这可能是最快的方法。 如@Icepickle所述,您可以使用CommandLine nuget包进行Parse实现,也可以根据自变量的语法自行编写。