C#如何对ListBox中读取出来的文件名按首字母排序,要求不用list<T>.Sort() 110
这是我读取文件的代码,本人菜鸟求大神给一个"详细"的排序代码,小弟不慎感激!privatevoidbtnBro_Click(objectsender,RoutedEven...
这是我读取文件的代码,本人菜鸟求大神给一个"详细"的排序代码, 小弟不慎感激!
private void btnBro_Click(object sender, RoutedEventArgs e)
{
string path = txtPath.Text;
if(Directory.Exists(path))
{
DirSearch(path);
}
}
public void DirSearch(string sDir)
{
try
{
foreach (string filename in Directory.GetFiles(sDir))
{
listBox.Items.Add((string)System.IO.Path.GetFileNameWithoutExtension(filename) + "\n");
}
foreach (string d in Directory.GetDirectories(sDir))
{
DirSearch(d);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
} 展开
private void btnBro_Click(object sender, RoutedEventArgs e)
{
string path = txtPath.Text;
if(Directory.Exists(path))
{
DirSearch(path);
}
}
public void DirSearch(string sDir)
{
try
{
foreach (string filename in Directory.GetFiles(sDir))
{
listBox.Items.Add((string)System.IO.Path.GetFileNameWithoutExtension(filename) + "\n");
}
foreach (string d in Directory.GetDirectories(sDir))
{
DirSearch(d);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
} 展开
3个回答
展开全部
List<string> names=Directory.GetFiles(sDir)).ToList();
names.Sort();
foreach (string filename in names)
{
这里已经是排好序的了
}
names.Sort();
foreach (string filename in names)
{
这里已经是排好序的了
}
追问
不可以用sort(), 得用bubbleSort, ExchangeSort,.....麻烦 给下详细代码,下地不甚感激
追答
你要的是排序算法吧,跟list,listbox无关。
冒泡排序如下:
public static void Sort(string[] arr)
{
for(int j=1;jarr[i+1])
{ //如果前 一个数大于后一个数,则交换两个数
int temp=arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
}
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
懒得写了,给你个提示,Enconding类的GetBytes函数。
http://msdn.microsoft.com/zh-CN/library/ds4kkd55%28v=vs.85%29.aspx
http://msdn.microsoft.com/zh-CN/library/ds4kkd55%28v=vs.85%29.aspx
参考资料: http://msdn.microsoft.com/zh-CN/library/ds4kkd55%28v=vs.85%29.aspx
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询