我试图设计对数组的传入字符串进行检查,如果传入的字符串具有特定的起始字符,则会跳过
例如:
;item1
item2
item3
;item4
应该作为
放入数组item2
item3
我以为我尝试使用foreach方法跳过以标识符开头的行,然后在else中添加不匹配回字符串数组的行,但它没有&似乎我能够做到这一点。
帮助!
void Whitelist()
{
if (logging == 1)
{
FIO._Log("Performing WhiteList func", writer);
}
try
{
string[] lines = File.ReadAllLines("Whitelist.ini");
string[] lines2;
foreach (string line in lines)
{
if (line.StartsWith(";"))
{
continue;
}
else
{
// lines2.append(line) ??
}
}
structs.CustomWhiteList = lines2;
}
catch (Exception e)
{
MessageBox.Show("Error reading whitelist file." + Environment.NewLine + e.Message);
FIO._Log("Failed to read whitelist file", writer);
}
}
答案 0 :(得分:2)
您可以读取这些行,过滤掉以分号开头的行,然后将结果数组直接设置为CustomWhiteList
。
请尝试以下代码:
var lines = File.ReadAllLines("Whitelist.ini");
structs.CustomWhiteList = lines.Where(x => !x.StartsWith(";")).ToArray();
这使用LINQ,因此如果您的课程尚不存在,则必须将using System.Linq
添加到您的课程中。