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; }
代码瞬间清晰