C# Where

判断一个字符串中是否包含字符串数组里的字符,恶意字符限制提交,一般人,包括最初的我,会这样写

 

public bool ValidateStr(string[] parms)
    {

        bool result = false;

        //要验证的字符列表

        string[] validateParms = { "'", "\"", "%" };
        for (int i = 0; i < parms.Length; i++)
        {
            for (int j = 0; j < validateParms.Length; j++)
            {
                if (parms[i].IndexOf(validateParms[j]) != -1)
                {
                    result = true;
                }
            }
        }
        return result;
    }

 

 

 

 

但是你绝不觉得,看着代码很乱呢

其实我们可以这样写

 

  public bool ValidateStr(string[] parms)
    {
        bool result = false;
        //要验证的字符列表
        string[] validateParms = { "'", "\"", "%" };
        for (int i = 0; i < parms.Length; i++)
        {
            if (validateParms.Where(p => p.IndexOf(parms[i]) > 0).Count() > 0)
            {
                result = true;

            }
        }
        return result;
    }

 

代码瞬间清晰

posted @ 2014-01-11 12:10  Mzhangyl  阅读(610)  评论(3编辑  收藏  举报