-1

を使用して、選択したファイルに関する情報を取得しようとしてDictionaryいますが、方法がわかりません。

    Dictionary<string, FileInfo> list = new Dictionary<string, FileInfo>();

        openFileDialog1.Multiselect = true;
        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {

            foreach (string file in openFileDialog1.FileNames)
            {
                list[file] = new FileInfo(file);


                //fi = new FileInfo(file);
             //  listBox1.Items.Add(string.Format("File Name :{0} FileSize : {1}", list.Name, list.Length.));

            }
    }
4

1 に答える 1

3

したがって、コメントアウトされたコードが機能していないと想定しています。その理由は、辞書内の値のプロパティではなく、辞書のプロパティにアクセスしようとしているからです

これ

listBox1.Items.Add(string.Format("File Name :{0} FileSize : {1}", list.Name, list.Length.));

する必要があります

listBox1.Items.Add(string.Format("File Name :{0} FileSize : {1}", list[file].Name, list[file].Length));

FileInfoまず、キー (この場合はファイル名) を使用してオブジェクトを取得する必要があります。次に、そのインスタンスのNameおよびLengthプロパティにアクセスできます。変数は辞書型で、プロパティがありませlistん。Nameリストでドット表記を使用しているlist.Something場合は、間接的なレベルを省略しています。

于 2013-08-14T17:03:31.200 に答える