2010-11-23 49 views
0

我有下面的代碼填充一個字符串,IList的,或陣:C#如何通過if語句

foreach (string file in FleName) 
      if (!ActualFiles.Any(x => Path.GetFileName(x).Equals(file))) 
      {     
        IList<string> MissingFiles = file; 
      } 

我有訪問此方法3個if語句。在if語句結尾,我需要顯示整個IList。

所以繼承人是我想要的。首先如果語句進入方法並在每個值前返回每個帶有「EqpFle - 」字樣的文件

第二個if statemenet我希望它返回所有名稱前帶有「DPFle-」的項目,並且simialr爲第三。

在所有的if語句結束時(這是在每個)我希望它讀取整個列表。

how owuld我這樣做?

IFS的基本如下所示:

foreach (string file in files) 
    { 
    if 
    { 
    Check <----thats the method 
    } 
    if 
    { 
    Check <----thats the method 
    } 
    if 
    { 
    Check <----thats the method 
    } 
    } 
+0

的LINQ`Except`方法如下就像您的第一個代碼片段更快更清晰的版本。我不明白這篇文章的其餘部分。 – CodesInChaos 2010-11-23 21:39:01

回答

1

它不是完全清楚究竟是怎麼回事 - 但基本上,如果你創建一個空的列表,開始與和將它傳遞到方法作爲參數,該方法可以將新的條目添加到它。

這對於LINQ來說幾乎肯定會更簡單(可能使用Concat,並且返回一個與給定模式匹配的文件IEnumerable<string>),但是這並不完全明顯,您要做什麼,這很難建議使用LINQ方法。

0

作爲替代喬恩的回答(通過在列表中你的方法),您可能還可以根據需要只產生你的結果....

foreach(string file in files) 
{ 
    if(**condition**) 
    { 
    yield return file; 
    } 
    if(**condition**) 
    { 
    yield return file; 
    } 
    if(**condition**) 
    { 
    yield return file; 
    } 
}