作者:
lonniekao (free myself)
2018-12-08 01:07:59我猜你的code是長這樣...
public partial class Form1 : From
{
//int[] mCPlts; //改成在這裡宣告
public Fomr1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
int compo = 255;
int[] mCPlts = new int[compo+1]; //在這邊宣告,只能在這個methods裡面用
//mCPlts= new int[compo+1]; //配合上面的宣告,改成這樣
for (int i = 0; i<=compo; i++)
mCPlts[i]=i;
}
private void FastBmpToBmp64(略...)
{
//DoSomething
Trans8GrayScale(paletteTest,mCPlts);
//Do something else
}
}
這是基本的變數作用域,不一定要最新版的書,
但建議找本入門書讀讀,基本概念都是一樣的。
※ 引述《b8002012 (b8002012)》之銘言:
: 各位前輩好
: 小弟在c#剛學不到一個禮拜,遇到一個問題
: 首先我在
: private void Form1_Load(object sender, EventArgs e)
: 中定義一個陣列以及撰寫了一個迴圈。
: int compo = 255;
: int[] mCPlts = new int[compo+1];
: for (int i = 0; i <= compo; i++)
: mCPlts[i] = i;
: 接著在別的button中撰寫一個方法
: private void FastBmpToBmp64(ref byte[] buf, string strFileName, ref int width,
: ref int height, string PicPath)
: 其中這個方法裡面另外撰寫一個方法
: Trans8GrayScale(paletteTest, mCPlts);
: 問題就是他說我的mCPlts不在我的內容內,但是我已經在Form1_Load運送完了,
: 我是有一個猜測,因為Form1_Load是private,在裡面運算完的變數不可提供給其他的butt
: on所使用…?