Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Chuyển đổi mảng int sang mảng string trong C#


Giới thiệu

Phương thức tĩnh Array.ConvertAll<TInput, TOutput>(TInput[] array, Converter<TInput, TOutput> converter) chuyển đổi từng phần tử mảng bằng hàm converter và trả về mảng mới kiểu TOutput[].

Ví dụ cơ bản

int[] intArray = { 15, 30, 44, 50, 66 };
string[] strArray = Array.ConvertAll(intArray, ele => ele.ToString());

Ví dụ hoàn chỉnh

using System;

public class Demo
{
    public static void Main()
    {
        int[] intArray = { 15, 30, 44, 50, 66 };
        string[] strArray = Array.ConvertAll(intArray, ele => ele.ToString());
        Console.WriteLine(string.Join("|", strArray));
    }
}

Kết quả

15|30|44|50|66

So sánh các cách chuyển đổi

Phương phápCú phápƯu điểm
Array.ConvertAllArray.ConvertAll(arr, x => x.ToString())Tạo mảng mới, type-safe, hiệu suất tốt
LINQ Select + ToArrayarr.Select(x => x.ToString()).ToArray()Linh hoạt, chain được nhiều phép toán
List.ConvertAlllist.ConvertAll(x => x.ToString())Cho List, trả về List
Vòng lặp forHand-codedKiểm soát hoàn toàn, không cấp phát delegate

Ví dụ chuyển đổi phức tạp

// Chuyển int[] sang string[] với format
int[] numbers = { 1, 2, 3 };
string[] formatted = Array.ConvertAll(numbers, n => n.ToString("D3")); // "001", "002", "003"

// Chuyển đổi kiểu tùy chỉnh
var dates = new[] { new DateTime(2023,1,1), new DateTime(2023,12,31) };
string[] dateStrings = Array.ConvertAll(dates, d => d.ToString("yyyy-MM-dd"));

Lưu ý

  • Converter delegate không được null.
  • Ném ArgumentNullException nếu array null.
  • Trả về mảng mới, không sửa đổi mảng gốc.