У меня есть 6 свойства:Сравнить две строки и проверить измененное значение в диапазоне содержат
oldprop1,oldprop2,oldprop3
newprop1,newprop2,newprop3
я собираюсь проверить, если значение изменилось. Если он изменился в определенной комбинации способов, я хочу его зарегистрировать.
Если эти 5 изменения происходят, то оно должно быть зарегистрировано:
P to Y
P to N
blank to Y -- here blank means ""
blank to N
N to Y
Что я делаю сейчас
if (!oldprop1.Trim().Equals(newprop1.Trim()) && (oldprop1.ContainsAny("P", "N","")) && newprop1.ContainsAny("Y", "N"))
{
//log me to DB
}
if (!oldprop2.Trim().Equals(newprop2.Trim()) && (oldprop2.ContainsAny("P", "N", "")) && newprop2.ContainsAny("Y", "N"))
{
//log me to DB
}
if (!oldprop3.Trim().Equals(newprop3.Trim()) && (oldprop3.ContainsAny("P", "N", "")) && newprop3.ContainsAny("Y", "N"))
{
//log me to DB
}
public static bool ContainsAny(this string haystack, params string[] needles)
{
foreach (string needle in needles)
{
if (haystack.Contains(needle))
return true;
}
return false;
}
Есть ли лучший способ, чтобы написать это?
Строка не может содержать пустую строку, строка либо есть, либо нет, пусто. – Kevin