1

私はC#が初めてなので、ファイルパスをマップして比較したい

"./non-XFA.pdf" and "./XFA.pdf"

だから、これは私が書いたものです

string[] testFiles = {"./non-XFA.pdf", "./XFA.pdf"};

このための foreach ループを作成することを考えていましたが、それ以上進めることができませんでした。助けてください

OpenFileDialog dialog = new OpenFileDialog();
fileName = dialog.FileName.ToString();
4

4 に答える 4

0

取得したfileNameには、完全なファイル パスが含まれています。

1- 返された文字列からファイル名だけを取得します。

string myFile = Path.GetFileName(fileName);

2-これで比較できます

if(testFiles.Contain(myFile))
{
    //do your checking
}
于 2012-12-17T12:01:44.793 に答える
0

foreachループで各要素を取得できます。

string[] testFiles = { "./non-XFA.pdf", "./XFA.pdf" };

foreach(string s in testFiles)
{
   Console.WriteLine(s);
}  
于 2012-12-17T11:58:27.040 に答える
0

あなたは単にComparer クラスを使うことができます

String str1 = "./non-XFA.pdf";
String str2 = "./XFA.pdf";
Console.WriteLine( "   Invariant Comparer: {0}", Comparer.DefaultInvariant.Compare( str1, str2 ) );

それが役に立てば幸い。

于 2012-12-17T11:59:25.617 に答える
0

まず第一に、必要なファイル パスが直接出力フォルダー (bin\debug など) にある場合は、Linux スタイルの前に ./ を使用してパスを記述する必要はありません。

次に、OpenFileDialog は拡張子付きのファイル名を返します。ファイル名や拡張子を個別に安全に抽出したい場合は、System.IO.Path の専用メソッドを使用して抽出できます。

于 2012-12-17T11:59:33.513 に答える