首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> C# 入門

C# List<string[]> 資料讀取與字串轉換完整指南

     編輯:C# 入門

原文程式碼疑為 Java 風格 (ArrayList、.add()、.get()、System.out.println),本文重寫為標準 C# 語法,示範 List<string[]> 的建立、填充、遍歷與字串化輸出。

正確 C# 實作

using System;
using System.Collections.Generic;
using System.Text;

public class ListArrayDemo
{
    public static void Main()
    {
        // 1. 建立泛型列表,元素為 string[]
        List<string[]> userList = new List<string[]>();

        // 2. 填充測試資料
        for (int i = 0; i < 10; i++)
        {
            string[] dto = new string[2];
            dto[0] = $"編號{i}";
            dto[1] = $"名稱rname{i}";
            userList.Add(dto);
        }

        // 3. 遍歷並輸出 (多種方式)
        if (userList.Count > 0)
        {
            Console.WriteLine("=== 方式一:逐行輸出 ===");
            foreach (string[] arr in userList)
            {
                Console.WriteLine($"編號: {arr[0]}, 名稱: {arr[1]}");
            }

            Console.WriteLine("\n=== 方式二:序列化為單一字串 (JSON 風格) ===");
            StringBuilder sb = new StringBuilder();
            sb.Append("[");
            for (int i = 0; i < userList.Count; i++)
            {
                string[] arr = userList[i];
                sb.Append($"{{\"id\":\"{arr[0]\",\"name\":\"{arr[1]}\"}}");
                if (i < userList.Count - 1) sb.Append(",");
            }
            sb.Append("]");
            Console.WriteLine(sb.ToString());

            Console.WriteLine("\n=== 方式三:簡單串接所有值 ===");
            string allValues = string.Join(" | ", userList.SelectMany(arr => arr));
            Console.WriteLine(allValues);
        }
    }
}

關鍵語法對照表 (Java vs C#)

功能JavaC#
動態陣列ArrayList / List<T>List<T>
新增元素.add().Add()
取得元素.get(i)[i] 或 .ElementAt(i)
長度/計數.size().Count 屬性
列印System.out.printlnConsole.WriteLine
字串格式化String.format$"" 插值字串 / string.Format

進階:LINQ 一鍵轉字串

using System.Linq;

// 全部元素扁平化並以分隔符串接
string flat = string.Join(", ", userList.SelectMany(arr => arr));

// 依條件篩選後轉字串
string filtered = string.Join("; ", 
    userList.Where(arr => arr[0].Contains("5"))
            .Select(arr => $"{arr[0]}:{arr[1]}"));

常見陷阱

  • 非泛型 ArrayList:舊專案遺留,會導致裝箱/拆箱效能損失且型別不安全,務必改用 List<T>。
  • string[] 直接 ToString():會得到 System.String[] 而非內容,必須用 string.Join 或迴圈展開。
  • 索引越界:存取 arr[0] 前確認 arr.Length > 0。

善用泛型集合與 LINQ,讓資料轉換代碼簡潔、型別安全且高效能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved