首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

linq语句出错

2012-09-02 
linq语句出错求救var list from c in Directory.GetFiles(copyRarpath, *.rar, SearchOption.TopDirect

linq语句出错求救
var list =from c in Directory.GetFiles(copyRarpath, "*.rar", SearchOption.TopDirectoryOnly)
  where c.Length > int.Parse(_serviceManage.RetentionBakFileLength)
  orderby DateTime.Parse(c.Replace(".rar", "").Replace("_", "-").Replace(bakrarPath, "")) descending
  select c;

这个貌似c in Directory.GetFiles(copyRarpath, "*.rar", SearchOption.TopDirectoryOnly)不正确
难道不能拿数组做成对象??
错误提示:表达式不能包含query expression

[解决办法]
from c in Directory.GetFiles(copyRarpath, "*.rar", SearchOption.TopDirectoryOnly).Select((x, i) => new { x, i })
where c.i > int.Parse(_serviceManage.RetentionBakFileLength)
orderby DateTime.Parse(c.x.Replace(".rar", "").Replace("_", "-").Replace(bakrarPath, "")) descending
select c.x;


[解决办法]
再仔细查查吧,你给的代码可以通过编译、执行的,如下:

C# code
            string copyRarpath = @"d:\temp";            string bakrarPath = "bak";            string RetentionBakFileLength = "18";            var list = from c in Directory.GetFiles(copyRarpath, "*.rar", SearchOption.TopDirectoryOnly)                       where c.Length > int.Parse(RetentionBakFileLength)                       orderby DateTime.Parse(c.Replace(".rar", "").Replace("_", "-").Replace(bakrarPath, "")) descending                       select c;            Trace.WriteLine(list.Count()); 

热点排行