コード例 #1
0
 /// <summary>
 /// 根据数组获取排序索引
 /// </summary>
 /// <typeparam name="valueType">数组类型</typeparam>
 /// <param name="indexFixed">排序索引数组</param>
 /// <param name="values">数组</param>
 /// <param name="getValue">数据排序值获取器</param>
 /// <param name="startIndex">起始位置</param>
 /// <param name="count">排序数据数量</param>
 internal unsafe static void Create <valueType>(dateTimeSortIndex *indexFixed, valueType[] values, Func <valueType, DateTime> getValue, int startIndex, int count)
 {
     for (int endIndex = startIndex + count; startIndex != endIndex; (*indexFixed++).Set(getValue(values[startIndex]), startIndex++))
     {
         ;
     }
 }
コード例 #2
0
 /// <summary>
 /// 根据排序索引获取数组
 /// </summary>
 /// <typeparam name="valueType">数组类型</typeparam>
 /// <param name="indexFixed">排序索引数组</param>
 /// <param name="values">数组</param>
 /// <param name="count">排序数据数量</param>
 /// <returns>排序后的数组</returns>
 internal unsafe static valueType[] Create <valueType>(dateTimeSortIndex *indexFixed, valueType[] values, int count)
 {
     valueType[] newValues = new valueType[count];
     for (int index = 0; index != count; ++index)
     {
         newValues[index] = values[(*indexFixed++).Index];
     }
     return(newValues);
 }
コード例 #3
0
        /// <summary>
        /// 根据数组获取排序索引
        /// </summary>
        /// <typeparam name="valueType">数组类型</typeparam>
        /// <param name="indexFixed">排序索引数组</param>
        /// <param name="values">数组</param>
        /// <param name="getValue">数据排序值获取器</param>
        internal unsafe static void Create <valueType>(dateTimeSortIndex *indexFixed, valueType[] values, Func <valueType, DateTime> getValue)
        {
            int index = 0;

            foreach (valueType value in values)
            {
                (*indexFixed++).Set(getValue(value), index++);
            }
        }