C#中單行LINQ實現高效率的字串到整數轉換
需要將一個包含整數字串的陣列有效率地轉換為一個實際整數陣列?簡單的型別轉換行不通,手動循環又過於繁瑣?
LINQ提供了一個簡潔優雅的解決方案。利用lambda表達式和查詢語法,只需極少程式碼即可完成轉換:
<code class="language-csharp">int[] myInts = arr.Select(int.Parse).ToArray();</code>
這段LINQ表達式中,Select
方法將int.Parse
轉換應用於arr
陣列的每個元素,有效地將字串表示解析為整數。然後,使用ToArray()
將產生的枚舉轉換為陣列。
範例用法:
<code class="language-csharp">string[] arr = new string[] { "1", "2", "3", "4" }; int[] myInts = arr.Select(int.Parse).ToArray();</code>
這段程式碼產生一個名為myInts
的數組,包含整數1、2、3和4,您可以輕鬆地將其傳遞給需要真正整數的方法。
替代方案:
如果效能至關重要,您可以考慮使用Array.ConvertAll
,在某些情況下它可能略微優於LINQ:
<code class="language-csharp">int[] myInts = Array.ConvertAll(arr, int.Parse);</code>
只需將LINQ表達式中的Select
部分替換為Array.ConvertAll
即可使用此最佳化。
透過使用LINQ的表達能力或Array.ConvertAll
的效能優勢,您可以使用一行程式碼輕鬆地將字串陣列轉換為整數陣列。
以上是C#中如何有效率地將字串陣列轉換為整數陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!