尝试创建从一组行中删除一行代码的代码。我盯着这段代码50分钟,不知道为什么它不起作用(似乎没有删除任何东西)。请帮帮忙?
public string[] removeLinesFromLines(string[] remLns, string[] lns)
{
//convert lns into equivalent string
string lnst = "";
foreach (string ln in lns)
{
lnst += ln + Environment.NewLine;
}
lnst = lnst.Trim(Environment.NewLine.ToCharArray());
//convert remlns into equivalent string
string remt = "";
foreach (string ln in remLns)
{
remt += ln + Environment.NewLine;
}
remt = remt.Trim(Environment.NewLine.ToCharArray());
//delete all instances of remlns from lns
lnst = lnst.Replace(remt, "");
//convert back into array
return Regex.Split(lnst, Environment.NewLine);
}
使用lns =
一
b
C
d
B'/ P>
d
C
和remlns =
B'/ P>
C
输出应该是......
一
d
B'/ P>
d
C
代码非常简单!从功能上讲,它就像4条不同的线条。
答案 0 :(得分:1)
你在找这样的东西吗?
public string[] removeLinesFromLines(string[] remLns, string[] lns)
{
var result = lns.Except(remLns);
return result.ToArray();
}
这将返回一个字符串数组,这些字符串存在于lns
但不存在于remLns