我在2aspx备忘录中输入数据:
aspxmemo1 = php;visual basic;c#
aspxmemo2 = visual basic;javascript
问题:如何检查两个aspxmemo之间是否有类似的数据,它将显示一个错误消息。
注意:在上面的例子中,相同的数据是:"Visual Basic".
假设你的memo是字符串:如果你在';'上分割字符串,你就有了很好的集合,这更容易操作,例如使用Linq。
var aspxmemo1 = "php;visual basic;c#";
var aspxmemo2 = "visual basic;javascript";
var collection1 = aspxmemo1.Split(';');
var collection2 = aspxmemo2.Split(';');
if (collection1.Intersect(collection2).Any())
{
//Do Something
}
//Or iterate over the duplicate memo's (you get the point)
foreach(var item in collection1.Intersect(collection2))
{
Console.WriteLine(item + " occured in both collections!");
}
试试这个方法。
string aspxmemo1 = "php;visual basic;c#";
string aspxmemo2 = "visual basic;javascript";
string copies ="";
string[] group1 = aspxmemo1.Split(';');
string[] group2 = aspxmemo2.Split(';');
foreach (string x in group1)
{
if (group2.Contains<string>(x))
{
copies += x + Environment.NewLine;
}
}
MessageBox.Show(copies);