我有一个项目清单
我希望列表排序为
abc,aaa,def,mno,ghi,jkl,vwx,
这就是我想要的父(升序名称的顺序),其子女(以名称的升序),儿童subchildren(孩子的升序),并以此类推,直到最后一个级别,然后再父.我有
sections = new List<section>( from section in sections
group section by section.ParentID into children
orderby children.Key
from childSection in children.OrderBy(child => child.Name)
select childSection);
Run Code Online (Sandbox Code Playgroud)
但将列表排序为abc,jkl,vwx,aaa,def,ghi,mno,pqr
任何人都可以让我知道我哪里出错了.
我试图解析一个文件夹并删除其中的所有文件.
DirectoryInfo dir = new DirectoryInfo("C\\Temp");
if (dir.GetDirectories().Any(p => p.Name == "\\NewTemp"))
{
foreach (string file in Directory.GetFiles(dir + "\\NewTemp"))
{
File.SetAttributes(file, FileAttributes.Normal);
File.Delete(file);
}
}
Run Code Online (Sandbox Code Playgroud)
此代码工作正常并删除我的\ NewTemp文件夹中的所有文件.但是如果打开任何文件,那么这些文件将不会被删除.我想要先关闭打开的文件并删除它们.我甚至试过了
foreach (string file in Directory.GetFiles(dir + "\\NewTemp"))
{
TextReader tr = new StreamReader(dir+"\\NewTemp\\"+file);
tr.Close();
File.SetAttributes(file, FileAttributes.Normal);
File.Delete(file);
}
Run Code Online (Sandbox Code Playgroud)
但没用.请告诉我我失踪的地方.