Example #1
0
        /// <summary>
        /// 将列号转换为文本形式
        /// </summary>
        /// <param name="column">待转换的列号,从0开始</param>
        /// <returns>列号对应的A1格式地址</returns>
        internal static string ColumnToText(int column)
        {
            ExceptionIntervalOut.Check(0, null, column);
            const int begin = 'A';

            return(ToolBit.FromDecimal(column, 26).Integer.PackIndex(true).
                   Select(x => (char)(begin + (x.Index == 0 && x.Count > 1 ? x.Elements - 1 : x.Elements))).Join());
        }
Example #2
0
 /// <summary>
 /// 枚举一个枚举的所有位域,
 /// 即便该枚举没有<see cref="FlagsAttribute"/>特性,也不受影响
 /// </summary>
 /// <typeparam name="Obj">待返回位域的枚举类型</typeparam>
 /// <param name="obj">待返回位域的枚举</param>
 /// <returns></returns>
 public static IEnumerable <Obj> AllFlag <Obj>(this Obj obj)
     where Obj : Enum
 => ToolBit.AllFlag(obj.To <int>(), 31).
 Select(x => (Obj)Enum.ToObject(typeof(Obj), x.Power));
Example #3
0
 static IEnumerable <int> Flag(int Num, int MaxIndex)
 => ToolBit.AllFlag(Num, MaxIndex).Select(x => x.Index);