Я изо всех сил пытаюсь найти лучший способ оценки двух объектов, которые могут быть или не быть списком строк.
Я чувствую, что должен быть лучший способ сделать следующее. У кого-нибудь есть совет, который может мне помочь, пожалуйста?
Я получаю объекты из веб-службы, поэтому невозможно заранее узнать, к какому типу они относятся.
private bool EvaluateDataLists(object dataLeft, object dataRight)
{
bool isDataLeftList = dataLeft is List<string>;
bool isDataRightList = dataRight is List<string>;
if (isDataLeftList && !isDataRightList)
{
foreach (var entry in dataLeft as List<string>)
{
if (Expression.Evaluate(entry, dataRight.ToString(), valueOperator))
return true;
}
}
else if (!isDataLeftList && isDataRightList)
{
foreach (var entry in dataRight as List<string>)
{
if (Expression.Evaluate(dataLeft.ToString(), entry, valueOperator))
return true;
}
}
else if (isDataLeftList && isDataRightList)
{
foreach (var leftEntry in dataLeft as List<string>)
{
foreach (var rightEntry in dataRight as List<string>)
{
if (Expression.Evaluate(leftEntry, rightEntry, valueOperator))
return true;
}
}
}
return false;
}