我這樣定義一個屬性:使用的foreach在C#中的屬性
public IMAGE_DOS_HEADER ImageDosHeader
{
get
{
return imageDosHeader;
}
}
其中IMAGE_DOS_HEADER是這樣
public struct IMAGE_DOS_HEADER
{ // DOS .EXE header
public UInt16 e_magic; // Magic number
public UInt16 e_cblp; // Bytes on last page of file
public UInt16 e_cp; // Pages in file
public UInt16 e_crlc; // Relocations
public UInt16 e_cparhdr; // Size of header in paragraphs
public UInt16 e_minalloc; // Minimum extra paragraphs needed
}
,最後我想使用的foreach主程序使用該物業的結構這樣
foreach (var DosHeader in reader.ImageDosHeader)
{
listView2.Items[i].SubItems.Add(DosHeader.ToString("X"));
i++;
}
而是編譯出錯: 「錯誤1個foreach語句canno t對'PEfileReader.PeHeaderReader.IMAGE_DOS_HEADER'類型的變量進行操作,因爲'PEfileReader.PeHeaderReader.IMAGE_DOS_HEADER'不包含'GetEnumerator'的公共定義
任何人都可以幫助我?
什麼是結構枚舉?它看起來像只有一個,而不是它們的數組。 – GolezTrol
創建通用列表列表 idh = new List ();.然後,您可以添加像idh.Add(新ImageDoesHeader {e_magic = 1,e_cblp = 2,e_cp = 3,e_crlc = 4,e_cparhdr = 5,e_minalloc = 6});。現在你可以使用foreach循環遍歷集合。 –
2012-09-08 09:11:55