所以今天我在为我正在制作的程序做一些知识产权保护的工作。
is白名单托管在pastebin上。
我的程序下载IP,将其拆分成一个字符串数组。
我的程序还使用https://wtfismyip.com/text检查ip
我想要做的是比较数组中的每个字符串,并检查它是否是当前的IP。
如果该IP结束时不是当前IP,则关闭该IP。
我该怎么做呢?
代码示例:
for (int i = 0; i < iplist.Length; i++)
{
if(iplist[i] == WebIP)
{
MessageBox.Show("Passed");
}
else
{
this.Close();
}
}发布于 2017-06-17 04:20:31
您可以使用一些LINQ来使代码更具可读性:
if (iplist.Any(ip => ip == WebIP))
{
MessageBox.Show("Passed");
}
else
{
this.Close();
}发布于 2017-06-17 04:26:33
假设您要测试很多次,创建白名单(或类似的:黑名单)的HashSet<T>;假设它是一个string
var whiteList = new HashSet<string>(iplist);(只做一次,而不是每次都需要检查)
然后只需检查.Contains
bool isOK = whiteList.Contains(WebIP);工作完成了,而且非常高效
发布于 2017-06-17 04:24:01
您可以使用一个标志并相应地设置它,如下所示
bool flag = false;
for (int i = 0; i < iplist.Length; i++)
{
if(iplist[i] == WebIP)
{
flag = true;
break;
}
}
if(flag)
MessageBox.Show("Passed");
else
this.Close();https://stackoverflow.com/questions/44597351
复制相似问题