У меня два набора данных: 1.-Сравнение двух наборов данных и получить какой ряд отличается
<dataset1>
<articles>
<name>name1</name>
<id>R12</id>
</articles>
<articles>
<name>name2</name>
<id>R13</id>
</articles>
<articles>
<name>name3</name>
<id>R14</id>
</articles>
<articles>
<name>name4</name>
<id>R15</id>
</articles>
<articles>
<name>name5</name>
<id>R16</id>
</articles>
<articles>
<name>name6</name>
<id>R17</id>
</articles>
<articles>
<name>name7</name>
<id>R18</id>
</articles>
<articles>
<name>name8</name>
<id>R19</id>
</articles>
</dataset>
2.
<dataset2>
<articles>
<name>name1</name>
<id>R12</id>
</articles>
<articles>
<name>name2</name>
<id>R13</id>
</articles>
<articles>
<name>nameTT</name>
<id>R14</id>
</articles>
<articles>
<name>name3</name>
<id>R20</id>
</articles>
</dataset>
Первый набор данных является основной набор данных, то второй из них является от пользователя. Я хочу сравнить и узнать, существуют ли данные во втором в первом. Итак, в этом случае данные второго набора данных, первые 2 строки в порядке, но последние 2 строки не являются нормально, потому что эти строки не находятся в первом. Я попытался зацикливание 2 набора данных, как это:
foreach (DataRow data1 in dataset1.Tables[0].Rows)//
{
foreach (DataRow data2 in data2.Tables[0].Rows)
{
if (!(data1["id"] == data2["id"] && data1["name"] == data2["name"]))
{
return "error";
}
}
}
Но это не работает, потому что строка colud позже tahn это сравнение. Я хотел бы сказать пользователю: Извините, но данные: nameTT с идентификатором: RT14 недействительными данными и выходом Любые идеи? Благодаря!
Почему вы сравниваете каждую строку с каждой строкой? Я думаю, вам нужно просто сравнить пары –
Подсказка; вместо того, чтобы немедленно возвращать ошибку, вы должны вернуться, когда есть совпадение. Вы можете вернуть ошибку, если дойдете до конца, и нет совпадения. – Rob
Да, я хочу сравнить пары. И я хочу, чтобы теперь какая пара не была правильной. Когда я получаю одну пару, которая неверна, я возвращаю ошибку и заканчиваю – Za7pi