I have the following code, I receive an error at "if statement" saying that FileInfo does not contain a definition "Contains"
Which is the best solution for looking if a file is in a directory?
Thanks
string filePath = @"C:\Users\";
DirectoryInfo folderRoot = new DirectoryInfo(filePath);
FileInfo[] fileList = folderRoot.GetFiles();
IEnumerable<FileInfo> result = from file in fileList where file.Name == "test.txt" select file;
if (fileList.Contains(result))
{
//dosomething
}
Remove fileList.Contains(result)
and use:
if (result.Any())
{
}
.Any()
is a LINQ keyword for determining whether result has any items in it or not. Kinda like doing a .Count() > 0
, except quicker. With .Any()
, as soon as an element is found the sequence is no longer enumerated, as the result is True
.
In fact, you could remove the last five lines of your code from from file in...
to the bottom, replacing it with:
if (fileList.Any(x => x.Name == "test.txt"))
{
}