2013-01-17 27 views
2

我有一個窗體,其中使用筆對象繪製一些線條。多筆對象C#

我想知道如果我應該使用一個共享對象筆,或每個繪製一個線對象筆。

是最好使用:

Pen green; 
green = new Pen(Color,size); 
foreach(line to be drawn) 
    graphics.DrawLine(green, x1, y1, x2, y2); 

(所有線共享一個對象)或以下類型:

foreach(line to be drawn) 
    Pen green = new Pen(Color.Green, 3); 
    graphics.DrawLine(green, x1, y1, x2, y2); 
    green.Dispose(); 

事實上(每行是一個對象),這兩個例子做什麼我想,但我想知道在這種情況下最推薦什麼。

注:我使用C#(的WinForms)

+6

編譯器/抖動小號應該爲你優化它,但由於Pen是一個win32非託管資源,我建議使用一個帶有'using'子句的實例。 – asawyer

回答

4

如果我是你

using (var green = new Pen(Color,size) 
{ 
    foreach(line to be drawn) 
    { 
     graphics.DrawLine(green, x1, y1, x2, y2); 
    } 
} 
+0

這似乎是一個不錯的選擇。根據msdn的'using'語句「using語句獲取一個或多個資源,執行語句,然後處理該資源。」 謝謝。 – guanabara

+0

請使用大括號! – asawyer