我有一類這樣的事情(這是代碼的一個子集)下,使用#索引
public struct overlay
{
[FieldOffset(0)]
public Byte[] b;
[FieldOffset(0)]
public Int32[] i;
}
class MyClass
{
private overlay data; \\Initialised using data.b=new Byte[4096]
public Int32 site0 { set { data.i[0] = value; } get { return data.i[0]; } }
public Int32 site1 { set { data.i[1] = value; } get { return data.i[1]; } }
public String s
{
get { return System.Text.Encoding.ASCII.GetString(data.b, 8, 16).TrimEnd(' '); }
set { System.Text.Encoding.ASCII.GetBytes(value.PadRight(16)).CopyTo(data.b, 8); }
}
public Int32 site2 { set { data.i[5] = value; } get { return data.i[5]; } }
}
我目前像這樣訪問該網站的變量...
MyClass m=new MyClass();
m.site0=1;
m.site1=1;
m.site2=1;
我想像這樣訪問他們..
MyClass m=new MyClass();
for (Int32 i=0; i<m.sites.Count; ++i)
m.sites[i]=1;
任何人都可以建議我會怎麼做嗎?
聲明一個int類型的數組或列表,並通過索引訪問這些網站? – Anthill
你意識到你打破了完全不受支持的,不安全的方式的類型系統?您強制將byte []視爲int [],結果爲100%未定義。 – usr