2012-04-09 73 views
1

所以,我看到了另一個問題的答案說,這應該工作:檢查文件是否存在錯誤

using System.IO; 
if (File.Exists(Path)) 
{ 
    Action(); 
} 

然而,當我這樣做,我得到這些錯誤:

'System.IO' is a 'namespace', which is not valid in the given context 

The Name 'File' does not exist in the current context 

什麼我做錯了嗎?

+0

你也可能想看看ReSharper的,一個工具(不是免費的),有助於編寫更乾淨的代碼,並顯示該類型的異常當你輸入代碼時是正確的。 – Mathieu 2012-04-09 02:36:06

回答

4

無論是在你的文件的頂部添加using System.IO;

或者

使用它像

if (System.IO.File.Exists(Path)) 
{ 
    //do whatever 
} 
10

你需要把using System.IO;在外部類文件的頂部。

+0

我能問這是爲什麼不接受的答案?羅比在@Shyju之前回答,但你卻接受了他的回答? – 2012-04-12 19:27:21

+0

也許它因爲@Shyju提供沒有一個'using'的額外選擇?我沒有真正困擾,但感謝有我的角落:) – Robbie 2012-04-12 19:48:17

1

在你的文件的頂部:

using System.IO; <-- 

namespace Application1 
{ 
+0

它不一定需要是命名空間聲明之外,但它必須是類聲明 – Davy8 2012-04-09 01:37:40

+0

@ Davy8哦之外,我沒明白這一點,謝謝! – 2012-04-10 08:46:08

2

很難告訴你在做什麼LY,但它看起來像你可能需要一些幫助,您的語句的順序。 using語句出現在cs文件的開始,你的邏輯將需要出現在一個類中的方法。

下面是它可以使用一個控制檯應用程序來完成:

using System.IO; 

public class Program 
{ 
    public static void Main(string[] args) 
    { 
     string path = @"c:\temp\file.txt"; 

     if (File.Exists(path)) 
     { 
      Action(); 
     } 
    } 
}