0
我需要使用阻塞集合,以便我可以異步調用委託。不幸的是,委託有兩個參數,包括一個結構和一個額外的字符串。使用該結構是因爲它是通過Interop調用外部c函數的結果。
現在我正在尋找一種避免在使用阻塞集合時複製結構的方法。
目前我的代碼看起來是這樣的:C#結構和指針
ConsumerQueue.Enqueue(new StructTransfer(structValue, stringValue));
消費者解壓然後StructTransfer。
的StructTransfer目前看起來像這樣
public struct Transfer{
public StructValue structValue;
public string stringValue;
public Transfer(StructValue structValue, string stringValue){
this.structValue=structValue;
this.stringValue = stringValue;
}
}
是否與指針一個簡單的方法,以避免在構造函數中複製報表,這樣我就可以方便地使用阻塞集合?
爲什麼要使用結構而不是類?一個類自動使用指針。 – Destrictor
您的隊列將由該結構類型的*值*組成。沒有複製,這怎麼可能工作? (你有沒有考慮過使用一個班級?無論哪種方式,*請*溝公共領域...) –
什麼複製報表? – Jodrell