Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menukar Array String kepada Array Int dalam C# Menggunakan LINQ dalam Satu Baris?

Bagaimana untuk Menukar Array String kepada Array Int dalam C# Menggunakan LINQ dalam Satu Baris?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-09 11:46:42430semak imbas

How to Convert a String Array to an Int Array in C# Using LINQ in One Line?

Satu baris kod C# untuk menukar tatasusunan rentetan kepada tatasusunan integer menggunakan LINQ

Dalam pengaturcaraan, memanipulasi data dalam format yang berbeza adalah penting. Di sini kita mempunyai situasi: anda mempunyai tatasusunan integer yang disimpan sebagai rentetan dan perlu menukarnya kepada tatasusunan integer sebenar untuk pemprosesan selanjutnya.

LINQ (Language Integrated Query) menyediakan penyelesaian yang kemas untuk tugasan ini. Kaedah Select dalam LINQ membolehkan anda mengubah setiap elemen dalam tatasusunan menggunakan fungsi tertentu. Dengan menggunakan fungsi int.Parse, anda boleh menukar setiap rentetan kepada integer yang sepadan:

<code class="language-csharp">int[] myInts = arr.Select(int.Parse).ToArray();</code>

Barisan kod ini melengkapkan penukaran dalam satu baris. Ia melelar ke atas tatasusunan, menghuraikan setiap rentetan menjadi int, dan menyimpan hasilnya dalam tatasusunan integer baharu.

Terdapat alternatif menggunakan kaedah ConvertAll:

<code class="language-csharp">int[] myInts = Array.ConvertAll(arr, int.Parse);</code>

Kaedah ini berfungsi secara khusus dengan tatasusunan dan melakukan penukaran yang serupa, tetapi ia memerlukan ungkapan lambda yang jelas sebagai fungsi penukaran.

Akhir sekali, anda boleh mengendalikan kemungkinan ralat penukaran dengan anggun menggunakan fungsi int.TryParse:

<code class="language-csharp">int[] myInts = Array.ConvertAll(arr,
    s =>
    {
        int j;
        return Int32.TryParse(s, out j) ? j : 0;
    });</code>

Kaedah ini memastikan bahawa sebarang elemen rentetan yang tidak sah digantikan dengan nilai lalai (0 dalam kes ini).

Atas ialah kandungan terperinci Bagaimana untuk Menukar Array String kepada Array Int dalam C# Menggunakan LINQ dalam Satu Baris?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn