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"))
{
}
you could check the count of result
if (result.Count() > 0)
{
//dosomething
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With