※ ChatGPTを利用し、要約された質問です(原文:C# 使用されたパラメーターが有効では~の対策は?)
C#のエラー解決方法とは?
このQ&Aのポイント
C#のコードで発生したエラーについて解決方法を教えてください。
使用されたパラメーターが有効ではないというエラーが発生しました。
ファイルの拡張子がJPGでない場合にエラーが発生します。
C# 使用されたパラメーターが有効では~の対策は?
C#の勉強を始めました。
ネットでコードを見つけては参考にさせていただいています。
以下のコードでエラーが出るのですが、解決策をお教えください。
Bitmap bitmap = new Bitmap(fName); ← ここでエラー
エラー内容
ユーザーが処理していない例外
System.ArgumentException:使用されたパラメーターが有効ではありません
///////////////////////////////
namespace WindowsFormsApp21
{
public partial class Form1 : Form
{
private void listView1_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.All;
}
private void listView1_DragDrop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
string[] drags = (string[])e.Data.GetData(DataFormats.FileDrop);
foreach (string d in drags)
{
・
・
・
string[] ar = new string[] { };
foreach (string fName in System.IO.Directory.GetFiles(d))
{
ar = fName.Split('.');
if (ar.Length > 1)
{
string str = ar[ar.Length - 1];
if (str.ToUpper().Equals("JPG"))
{
Bitmap bitmap = new Bitmap(fName); ← ここでエラー
int[] pils = bitmap.PropertyIdList;
int index = Array.IndexOf(pils, 0x9003); //撮影日付
if (index == -1)
{
MessageBox.Show("no date in " + fName);
continue;
}
PropertyItem pi = bitmap.PropertyItems[index];
string date = Encoding.ASCII.GetString(pi.Value, 0, 19);
date = date.Replace(':', '-').Replace(' ', '_');
string newName = date + ".jpg";
bitmap.Dispose();
・
・
・
}
}
}
}
e.Effect = DragDropEffects.Copy;
}
}
}
お礼
回答ありがとうございました。 jpgファイルがなかったため、拡張子のみをjpgに変えたダミーを使ったためエラーが出ていました。