辞書があります。最初にそれらを初期化します。C#でファイルから辞書を読み込む
public Dictionary<string, Bitmap> lookup;
public Dictionary<string, Bitmap> lookup2;
public Dictionary<string, Bitmap> lookup3;
次に、辞書がbutton_clickイベントに読み込まれます。
private void button2_Click_1(object sender, EventArgs e)
{
lookup = new Dictionary<string, Bitmap>();
Bitmap l1 = new Bitmap(@"C:\1\1.bmp", true); lookup.Add("1", l1);
// add hundreds more
}
問題は、このコードは私のメインのファイル・スペースの半分近くを占めるということですので、私はそれから辞書をロードするために別のファイルを作成する方法について考えていました。
ので、私は別のクラス(CS)ファイルを作成してみました:
using getDictData
とこのようにそれを使用します:
private void button2_Click_1(object sender, EventArgs e)
{
mydict.loadDict();
}
私は追加のメインファイルに
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
namespace getDictData
{
class mydict
{
public static void loadDict()
{
Dictionary<string, Bitmap> lookup = new Dictionary<string, Bitmap>();
Bitmap l1 = new Bitmap(@"C:\1\1.bmp", true); lookup.Add("1", l1);
}
}
}
を
何も動作していないようです。だからどのようにC#で別のファイルからメソッドをロードしますか?
EDIT:
private void button8_Click(object sender, EventArgs e)
{
var targer = lookup.ToList(); // error is thrown here
string s = targer[0].Key;
textBox6.Text = "" + s;
}
結果は関係なく、私は、コードをどのように変化するかを、常にnullではありません:私は何かが辞書にロードされたかどうかを確認するために、このコードを使用しています。
「Valueはパラメータ名nullにすることはできません:ソース」
と私はメインファイルから辞書の初期設定を削除した場合、私は「名前 『のルックアップ』は現在のコンテキスト内に存在しない」
を取得しています
「何も動作していないようです」何もありません。 – Reniuz
正しく表示されます。それはコンパイルされますか? 「ファイルスペースの半分」という意味はどういう意味ですか?ローディングコードを大きくする理由ロードするビットマップがたくさんある場合は、ディレクトリからすべてのイメージをロードするだけでしょうか?また、C#コードには、通常、名前空間、クラス名、およびメソッド名が大文字で始まります。 –
別の名前空間を使用して処理していますか? –