说明:List<>类型可以支持对任意类型的存储,也可以对其进行排序。
以下为大家介绍一种简单的排序实现方法。
1、定义一个类CAttributeFeature,后面用List<CAttributeFeature>存储该类的列表。
public class CAttributeFeature { public string m_strAttributeName { get; set; } public double m_dAttributeFeature { get; set; } public CAttributeFeature(string strName, double dFeature) { this.m_strAttributeName = strName; this.m_dAttributeFeature = dFeature; } public void FeatureAdd(double dFeature) { this.m_dAttributeFeature += dFeature; } }
2、定义一个函数SortCompare(),对List<CAttributeFeature>进行排序时作为参数使用:
#region SortCompare()函数,对List<CAttributeFeature>进行排序时作为参数使用 /// <summary> /// 对List<CAttributeFeature>进行排序时作为参数使用 /// </summary> /// <param name="AF1"></param> /// <param name="AF2"></param> /// <returns></returns> ///by http://www.jb200.com private static int SortCompare(CAttributeFeature AF1, CAttributeFeature AF2) { int res = 0; if (AF1.m_dAttributeFeature > AF2.m_dAttributeFeature) { res = -1; } else if (AF1.m_dAttributeFeature < AF2.m_dAttributeFeature) { res = 1; } return res; } #endregion
3、产生一个List<CAttributeFeature>的对象,将前一步定义的SortCompare()函数做为Sort()方法的参数传入,对List<CAttributeFeature>进行排序。
List<CAttributeFeature> listAF = m_nDTreeGenerator1.Chaos_GetUsefulAttributeFeature(Chaos_DTree1); //按其特征值进行排序 listAF.Sort(SortCompare);