您现在的位置是:主页 > news > 昆明网站建设锐网/seo推广专员工作内容
昆明网站建设锐网/seo推广专员工作内容
admin2025/4/27 20:53:39【news】
简介昆明网站建设锐网,seo推广专员工作内容,常州网站建设公司平台,怎么用indesign做网站设计Flags类型的枚举可以简化很多代码,例如如下需求,矩形的四条边,按照设定,可以只存在四条边中的任意条边。 使用普通的思路,就必须定义四条边所有的组合,添加一条边和减少一条边的代码都比较复杂,…
昆明网站建设锐网,seo推广专员工作内容,常州网站建设公司平台,怎么用indesign做网站设计Flags类型的枚举可以简化很多代码,例如如下需求,矩形的四条边,按照设定,可以只存在四条边中的任意条边。
使用普通的思路,就必须定义四条边所有的组合,添加一条边和减少一条边的代码都比较复杂,…
Flags类型的枚举可以简化很多代码,例如如下需求,矩形的四条边,按照设定,可以只存在四条边中的任意条边。
使用普通的思路,就必须定义四条边所有的组合,添加一条边和减少一条边的代码都比较复杂,但如果使用,Flags类型的枚举就很简单。
定义枚举
[Flags]public enum CellBorderType{none = 0,Top = 1,Left = 2,Right = 4,Bottom = 8,/// <summary>/// 四条线都打印/// </summary>All = Top | Left | Right | Bottom}
判断是否存在某条边
public static bool HasBorder(CellBorderType borderTypeToTest,CellBorderType borderType){ bool has = ((borderTypeToTest & borderType) != 0);// bool has = (borderTypeToTest & borderType) == borderType;//这种方法也可以return has;}
移除某条边
public static CellBorderType RemoveBorder(CellBorderType borderTypeToRemove, CellBorderType borderType){bool has = HasBorder(borderTypeToRemove, borderType);if(has)//必须先判断是否存在{borderTypeToRemove ^= borderType;// borderTypeToRemove -= borderType;//这种方法也可以}return borderTypeToRemove;}
添加某条边
public static CellBorderType AddBorder(CellBorderType borderTypeToAdd, CellBorderType borderType){borderTypeToAdd = borderTypeToAdd | borderType;//bool has = HasBorder(borderTypeToAdd, borderType);//if (has)//不需要判断是否存在//{// borderTypeToRemove -= borderType;//}return borderTypeToAdd;}
测试代码
/*测试移除*/TestFlags.CellBorderType CellBorderType = TestFlags.CellBorderType.All;TestFlags.CellBorderType CellBorderType1 = TestFlags.RemoveBorder(CellBorderType, TestFlags.CellBorderType.Top);TestFlags.CellBorderType CellBorderType2 = TestFlags.CellBorderType.Left| TestFlags.CellBorderType.Right;TestFlags.CellBorderType CellBorderType22 = TestFlags.RemoveBorder(CellBorderType2, TestFlags.CellBorderType.Top);/*测试添加*/TestFlags.CellBorderType CellBorderType3 = TestFlags.CellBorderType.All;TestFlags.CellBorderType CellBorderType33 = TestFlags.AddBorder(CellBorderType3, TestFlags.CellBorderType.Top);TestFlags.CellBorderType CellBorderType4 = TestFlags.CellBorderType.Left | TestFlags.CellBorderType.Right;TestFlags.CellBorderType CellBorderType44 = TestFlags.AddBorder(CellBorderType4, TestFlags.CellBorderType.Top);/*测试是否存在*/TestFlags.CellBorderType CellBorderType5 = TestFlags.CellBorderType.All;bool has6 = TestFlags.HasBorder(CellBorderType5, TestFlags.CellBorderType.Top);TestFlags.CellBorderType CellBorderType7 = TestFlags.CellBorderType.Left | TestFlags.CellBorderType.Right;bool has8 = TestFlags.HasBorder(CellBorderType7, TestFlags.CellBorderType.Left | TestFlags.CellBorderType.Right);