LINQ检索使用
我看网上对LINQ的讲解 自己整合了一下
- 是语言集成查询(Language Integrated Query)是一组用于C#和Visual Basic语言的扩展。能够允许编写C#或VB代码以查询数据相同的方式操作内存数据
- 查询操作是由三个部分组成:获取数据源,创建查询,执行查询
- LINQ查询变量被类型化为IEunmerable<T>或者派生类型
自己具体使用的实例
- 对选取的文件进行去重(在新添加的文件中判断此文件存不存在)
- 检索在TextBox控件中输入字符串检索此内容在文件中是否存在
//去重
if (openFile.ShowDialog() == System.Windows.Forms.DialogResult.OK) {
//媒体文件地址
string[] names = openFile.FileNames;
foreach (var item in names) {
string name = Path.GetFileName(item);
string path = Path.GetFullPath(item);
MusicObj music = ListObj.FirstOrDefault(x => x.MusicName.Equals(name));
if (music == null) {
ListObj.Add(new MusicObj() { MusicName = name, MusicPath = path });
filelist.Add(path);
}
}
}
//检索
List<MusicObj> result = ListObj.Where(x => x.MusicName.Contains(select)).ToList();
if (result.Count > 0) {
MessageBox.Show("在检索范围内");
} else {
MessageBox.Show("不在检索范围内");
}