我有字典。首先我初始化它們。從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 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);
}
}
}
在主文件我補充一下:
using getDictData
,並使用它像這樣:
private void button2_Click_1(object sender, EventArgs e)
{
mydict.loadDict();
}
似乎沒有任何工作..所以你如何從不同的文件加載方法與C#?
編輯:我使用此代碼來檢查,如果事情被加載到詞典:
private void button8_Click(object sender, EventArgs e)
{
var targer = lookup.ToList(); // error is thrown here
string s = targer[0].Key;
textBox6.Text = "" + s;
}
結果總是空,不管我怎麼更改代碼。
「值不能爲空參數名:源」
,如果我刪除主文件的字典初始化我越來越
「這個名字‘查找’不存在當前上下文存在」
'沒有什麼似乎在工作什麼是什麼? – Reniuz 2012-03-31 10:02:30
看起來正確。它是否編譯? 「你的一半文件空間」是什麼意思?什麼使得加載代碼如此之大?如果有很多位圖加載,也許你應該加載目錄中的所有圖像?另外:C#代碼通常具有以大寫字母開頭的名稱空間,類名稱和方法名稱。 – 2012-03-31 10:02:32
您正在使用單獨的名稱空間來執行處理? – 2012-03-31 10:04:43