过滤或过载方法

本文关键字:方法 过滤 | 更新日期: 2023-09-27 18:29:27

我遇到了一个需要帮助的困境。方法TAXCheckControlNumberForAccuracy进入数据库,并使用传入的变量执行Select *语句。

但是,每次程序运行时,这些变量中的任何一个都可能为null。All可以为null。None不能为null。(我使用OCR来获取变量……所以它并不总是准确的)

有人能告诉我解决这个问题的最佳方法吗。

if ((City != null) && (Zip != null) && (State != null) && (Owner != null))
            {
                if (City.Length > 4)
                {
                    ControlNumberMatch = TAXCheckControlNumberForAccuracy(Owner, Zip, State, City);
                }
            }

过滤或过载方法

您可以使用带有可选参数的方法。像

public void TAXCheckControlNumberForAccuracy(string Owner = "default", 
       string Zip = "default",string  State = "default",string City = "default");

无论您做什么,您仍然需要单独检查每个参数。创建一个这样做的方法。

void string CorrectParam(string param)
{
    if (param == null)
        return "default";
    return param;
}
void TAXCheckControlNumberForAccuracy(string City, string Zip, string State, string Owner)
{
}
//call using this
TAXCheckControlNumberForAccuracy(CorrectParam(City), CorrectParam(Zip), CorrectParam(State), CorrectParam(Owner));