看了看帮助,写了写,可以排序,只是不知道是不是这样子作:)
...
using System.Collections;
...
public class MyComparer:IComparer
{
public int Compare(object a,object b)
{
SubDirectory a1=(SubDirectory)a;
SubDirectory b1=(SubDirectory)b;
if (a1.iFile > b1.iFile)
return 1;
else if (a1.iFile < b1.iFile)
return -1;
else return 0;
}
}
....
MyComparer comparer=new MyComparer();
temp.Sort(comparer);
......
如果你要根据SubDirectory里的那个string字段sort的话,改写Compare
就可以了
...
using System.Collections;
...
public class MyComparer:IComparer
{
public int Compare(object a,object b)
{
SubDirectory a1=(SubDirectory)a;
SubDirectory b1=(SubDirectory)b;
if (a1.iFile > b1.iFile)
return 1;
else if (a1.iFile < b1.iFile)
return -1;
else return 0;
}
}
....
MyComparer comparer=new MyComparer();
temp.Sort(comparer);
......
如果你要根据SubDirectory里的那个string字段sort的话,改写Compare
就可以了
继承IComparer接口,重写接口函数CompareTo(object obj);
public struct SubDirectory:IComparer
{
public string subDirectory;
public int iFile;
public CompareTo(object obj)
{
SubDirectory sd=(SubDirectory)obj;
if(iFile.CompareTo(sd.iFile)!=0)
{
return iFile.CompareTo(sd.iFile);
}
else
{
return subDirectory.CompareTo(sd.subDirectory);
}
}
}