I have the following code:
foreach (string file in FleName)
if (!ActualFiles.Any(x => Path.GetFileName(x).Equals(file)))
{
IList<string> MissingFiles = file;
}
I have 3 if statements that access this method. At the end of the if statements I need to show the entire IList.
开发者_如何学JAVASo heres what I want. First if statment goes into the method and returns every file with the word "EqpFle -" before each value
The second if statemenet I want it to return all those items with "DPFle-" in front of all the names, and simialr for the third.
At the end of all the if statements (this is in a for each) I want it to read the entire list.
how owuld I do this?
the ifs basically look as follows:
foreach (string file in files)
{
if
{
Check <----thats the method
}
if
{
Check <----thats the method
}
if
{
Check <----thats the method
}
}
It's not entirely clear exactly what's going on here - but basically if you create an empty list to start with and pass it into the method as an argument, the method can add the new entries to it.
This would almost certainly be simpler with LINQ (probably using Concat
, and a method which returned an IEnumerable<string>
of files matching a given pattern), but it's not entirely obvious what you're trying to do, which makes it hard to suggest a LINQ approach.
As an alternative to Jon's answer (of passing in the List to your method), you might also be able to just yield your results as required....
foreach(string file in files)
{
if(**condition**)
{
yield return file;
}
if(**condition**)
{
yield return file;
}
if(**condition**)
{
yield return file;
}
}
精彩评论