3

重複の可能性:
string が有効なファイル パスかどうかを調べていますか?
C# で、ファイル名が *おそらく* 有効であることを確認します (存在しないこと)。

ファイル名とそのフルパスを表す文字列を期待するメソッドがあります。

この文字列の形式を検証 (ガード) して、実際にファイル名を表すことができるかどうかを確認したい (パスが存在するかどうかではなく)。

たとえば、「123C:\foo\」のようなものは受け入れられません。

C# でこのチェックを行う最も簡単な方法は何ですか?

public void LoadFile(string fileName)
{
  var valid = Check if 'fileName' is in valid format.
  if(!valid)
      throw new ArgumentException(....
}
4

1 に答える 1

2

ドキュメントから:

パスを入力文字列として受け入れるメンバーでは、そのパスは適切な形式である必要があり、そうでない場合は例外が発生します。

したがって、次のようなことができます。

public void LoadFile(string fileName)
{
    try
    {
        var path = Path.GetFullPath(fileName);
    }
    catch (NotSupportedException e)
    {
        throw new ArgumentException(...);
    }
}
于 2012-11-01T17:25:33.580 に答える