Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menukar Tatasusunan Rentetan kepada Tatasusunan Integer dengan Cekap dalam C#?
Satu baris LINQ dalam C# untuk mencapai penukaran rentetan kepada integer yang cekap
Perlu menukar tatasusunan yang mengandungi rentetan integer kepada tatasusunan integer sebenar dengan cekap? Penukaran jenis mudah tidak berfungsi dan gelung manual terlalu menyusahkan?
LINQ menyediakan penyelesaian yang ringkas dan elegan. Manfaatkan ungkapan lambda dan sintaks pertanyaan untuk melengkapkan penukaran dengan kod minimum:
<code class="language-csharp">int[] myInts = arr.Select(int.Parse).ToArray();</code>
Dalam ungkapan LINQ ini, kaedah Select
menggunakan transformasi int.Parse
pada setiap elemen tatasusunan arr
, dengan berkesan menghuraikan perwakilan rentetan menjadi integer. Kemudian, gunakan ToArray()
untuk menukar enum yang terhasil kepada tatasusunan.
Contoh penggunaan:
<code class="language-csharp">string[] arr = new string[] { "1", "2", "3", "4" }; int[] myInts = arr.Select(int.Parse).ToArray();</code>
Kod ini menjana tatasusunan bernama myInts
yang mengandungi integer 1, 2, 3, dan 4, yang boleh anda hantar dengan mudah kepada kaedah yang menjangkakan integer sebenar.
Alternatif:
Jika prestasi adalah kritikal, anda mungkin mempertimbangkan untuk menggunakan Array.ConvertAll
, yang mungkin lebih baik sedikit daripada LINQ dalam beberapa kes:
<code class="language-csharp">int[] myInts = Array.ConvertAll(arr, int.Parse);</code>
Hanya gantikan bahagian Select
dalam ungkapan LINQ dengan Array.ConvertAll
untuk menggunakan pengoptimuman ini.
Dengan menggunakan kuasa ekspresif LINQ atau kelebihan prestasi Array.ConvertAll
, anda boleh menukar tatasusunan rentetan kepada tatasusunan integer dengan satu baris kod dengan mudah.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Tatasusunan Rentetan kepada Tatasusunan Integer dengan Cekap dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!