假設我有包含3個字符串屬性的類A。 A的新實例正在整個應用程序中不必要地創建多次。所有A類都使用這3個字符串執行LINQ查詢,如:C# - 與字符串屬性重複使用對象與創建新實例的性能
Where(string1 == this.string1).Where(string2 == this.string2).Where(string3 == This.string3)
不是每次創建實例都需要對象,我正在考慮修改使用此類型的類來存儲對象的一個實例,然後在每次使用它之前修改字符串屬性。這是優化班級的正確方法嗎?基本上,我試圖避免每次創建實例併爲字符串分配內存的開銷。
是否有更快的方式來執行上述LINQ查詢呢?
您需要對代碼**和性能**進行編碼。 – Enigmativity
「包含」三個字符串的類很小,因爲字符串本身並不「包含」。您需要了解類是如何存儲的,字符串是如何存儲的,您需要了解字符串實習,您需要了解垃圾收集和GC0,1和2的成本。然後,您可能會考慮優化此類。 –
創建不同的字符串創建持有實例的成本可能更高。這就是說,除非字符串是巨大的,這聽起來像是不成熟的優化。不要試圖猜測性能問題。然後測量優化。 –