C#中將string[] 轉成 int[]的方式有很多種。
直接遍歷轉換
這是最簡單粗暴的方式。實例代碼:
使用LINQ遍歷
本質和直接遍歷沒多大差異,但代碼量更少,代碼更美觀。實例代碼:
注意:需要引入System.Linq命名空間。
使用Array.ConvertAll靜態方法
和LINQ遍歷相當類似。實例代碼:
完整的實例代碼
using System;
using System.Linq;
namespace PandaTest
{
class Program
{
static void Main(string[] args)
{
//測試使用的字符串數組
string[] test = new string[6] {"888","666","555","Panda666", "777", "999" };
//最簡單粗暴的方式直接遍歷轉換
int[] result1 = new int[test.Length];
for (int i = 0; i < test.Length; i++)
{
//使用TryParse減少異常
result1[i] = int.TryParse(test[i], out int temp) ? temp : 0;
}
foreach (var item in result1)
{
Console.WriteLine($"類型{item.GetType().ToString()},值{item}");
}
//使用LINQ
var result2 = test.Select(item => int.TryParse(item, out int i) ? i : 0);
foreach (var item in result2)
{
Console.WriteLine($"類型{item.GetType().ToString()},值{item}");
}
//使用Array.ConvertAll
var result3 = Array.ConvertAll(test, s => int.TryParse(s, out int i) ? i : 0);
foreach (var item in result3)
{
Console.WriteLine($"類型{item.GetType().ToString()},值{item}");
}
//wait
Console.ReadKey();
}
}
}