Closed xuejmnet closed 1 year ago
//正确逻辑 if (thisValue == null || thisValue.Count() == 0) return true;
//错误逻辑 if (thisValue == null || thisValue.Any()) return true;
应该是 !thisValue.Any())
@DotNetNext @MonkSoul 是的,web编辑忘了不好意思
@DotNetNext
public static bool IsCollectionsList(this string thisValue)
{
return (thisValue + "").StartsWith("System.Collections.Generic.List")|| (thisValue + "").StartsWith("System.Collections.Generic.IEnumerable");
}
public static bool IsStringArray(this string thisValue)
{
return (thisValue + "").IsMatch(@"System\.[a-z,A-Z,0-9]+?\[\]");
}
public static bool IsEnumerable(this string thisValue)
{
return (thisValue + "").StartsWith("System.Linq.Enumerable");
}
还有这三个我就不提交pr了,你们自己改一下吧,判断value==null直接返回false,不然性能还是低,而且是扩展方法应该会有很多处调用
OK,后续手动合并
性能优化判断集合是否有元素应该使用Any,count会迭代所有次数,any只迭代一次