我有这个功能:

    public bool IsValidProduct(int productTypeId)
    {
        bool isValid = false;

        if (productTypeId == 10 ||
            productTypeId == 11 ||
            productTypeId == 12)
        {
            isValid = true;
        }

        return isValid;
    }

但我想知道是否有一种更简单的编写方法,例如:
    public bool IsValidProduct(int productTypeId)
    {
        bool isValid = false;

        if (productTypeId.In(10,11,12))
        {
            isValid = true;
        }

        return isValid;
    }

我知道我可以编写一个扩展方法来解决这个问题,我只是想知道是否已经有东西或是否有更好的方法来编写它。

最佳答案

不,我不相信,但是您可以编写一个扩展方法,使您的代码完全按照编写的方式工作。

public static bool In<T>(this T source, params T[] args) {
    return args.Contains(source);
}

不过,阵列的开销要大一些。您可能想为固定数量较少的参数添加特殊情况。

关于c# - 类似于.NET框架中的sql IN语句?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1376121/

10-13 06:38