private List<string> FolderOne(string Folder)
{
string filena;
DirectoryInfo dir = new DirectoryInfo(Folder);
FileInfo[] files = dir.GetFiles("*.mp3", SearchOption.AllDirectories);
List<string> str = new List<string>();
foreach (FileInfo file in files)
{
str.Add(file.FullName);
filena = file.FullName;
filena.Replace("*.mp3", "*.jpg");
if (filena.Length > 0)
{
pictureBox1.Image = new System.Drawing.Bitmap(filena.ToString()); //I receive a error "Parameter is not valid."
}
}
return str;
}
私の目的は私が2ファイルを持っているピクチャボックスを同じフォルダ内にfile.fullname「.MP3" を読みますが」.JPG」で終わり、Infactは作ることだった、このコードスニペットを持っています最初の曲は "firstsong.mp3"の曲で、2番目の曲は "firstsong.jpg"の違いは最終的な拡張子なので、同じファイル名でも拡張子は "。* jpg" 「パラメータが無効です」というエラーが表示されます。ラインコードで "pictureBox1.Image = new System.Drawing.Bitmap(filena.ToString());"をクリックします。 どのように私はそれを解決することができますか?あなたの注意を おかげ
ニースよろしく
-1。私は使用文字列を推薦すると思います。パスは恐ろしい練習です。名前に ".mp3"のインスタンス(ディレクトリパスやファイル名など)がある場合は、そのすべてのインスタンスが置き換えられます(拡張子だけでなく)。また、Replaceは大文字と小文字を区別しますので、結果が間違っている可能性があります。 –
私は実際に同意します - パス上のChangeExtensionメソッドの使用は、文字列置換より優れた方法です。 私はなぜ彼がうまくいかなかったのかを説明することに集中しました。 –
私は-1を取り消しましたが、この情報はおそらくコメント自体ではなく答えにあるべきです。 –