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);
}
}
展开
 我来答
匿名用户
2013-03-20
展开全部

其实ListBox控件具有自动排序的功能,只需要将ListBox的 Sorted 属性设置为 true 就可以了

见图:

 

 

排序结果如下:

 

更多追问追答
追问
不能用这个方法,最好是用bubbleSort, exchangeSort, ......,这个我也知道,主要是不能用这个方法,麻烦给下排序代码 ,小弟不甚感激
追答
其实你要的是排序算法吧??
百度网友ec17c9c
2013-03-20 · TA获得超过124个赞
知道小有建树答主
回答量:144
采纳率:0%
帮助的人:124万
展开全部
List<string> names=Directory.GetFiles(sDir)).ToList();
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;
}

}
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b7d2b2f
2013-03-19 · TA获得超过901个赞
知道小有建树答主
回答量:994
采纳率:50%
帮助的人:580万
展开全部
懒得写了,给你个提示,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

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式