VB c#初学者在这里。我正在使用下面的代码片段列出目录中的所有视频。字符串不包含c#中的子句visual basic
var files = Directory
.GetFiles("D:\\Movies", "*.*", SearchOption.AllDirectories)
.Where(s => s.ToLower().EndsWith(".mp4") || s.ToLower().EndsWith(".mkv") || s.ToLower().EndsWith(".avi"));
现在的挑战是排除那些在他们的名字中有“样本”单词的视频。
我试着在最后加入.Where(s => s != "sample.avi");
但它似乎没有工作。
也当我做.Where(s => s.Contains("sample");
时,我能够列出所有名称中包含“sample”字样的文件。
也有可能从files
数组中删除这些名称或枚举什么是?我不认为这是一个阵列,因为找到计数不起作用,就像files.Count
/files.Length
。
我想我对枚举和字符串的理解在这里有点弱。请指导。
这只会抓取名称为sample.avi的文件,我想实现的是所有文件的名称中都不包含单词“sample”。 – aelor
使用'ToLower'会产生一堆不必要的字符串。使用'EndsWith'的重载,它允许你指定一个不区分大小写的搜索:'s.EndsWith(“。mkv”,StringComparison.InvariantCultureIgnoreCase)' –
@ChrisDunaway:谢谢你的建议,它可以帮助我改进我的答案 –