この関数は、パラメーターとして取得するパスで最も長いファイルを見つける必要があります。
問題をうまく処理しているようですが、例外を処理する方法がわかりません。
PathTooLongExceptionの場合_MaxPathを-2に設定して関数を終了し、他の例外が発生した場合は-1に設定して関数を終了し、最長のファイルパスに設定します。
この場合、例外を処理する正しい方法は何か分かりません。フォルダー内の最長ファイルパス - 例外の処理方法
おそらくばかな質問が、私は、C#での新たなんだ...
static int _MaxPath = 0;
public static void GetLongestFilePath(string p)
{
try
{
foreach (string d in Directory.GetDirectories(p))
{
foreach (string f in Directory.GetFiles(d))
{
if (f.Length > _MaxPath)
{
_MaxPath = f.Length;
}
}
GetLongestFilePath(d);
}
}
catch (Exception e)
{
if (e is PathTooLongException)
{
_MaxPath = -1;
}
}
finally
{
System.Environment.Exit(-99);
}
}
なぜ静的フィールドに結果を格納するのですか?それは便利ではない。また、 'Get'で始まる名前のメソッドは、何かを返すことになっています。voidであってはいけません。 –