📌  相关文章
📜  C#|将一种类型的数组转换为另一种类型的数组(1)

📅  最后修改于: 2023-12-03 14:40:30.425000             🧑  作者: Mango

C# 将一种类型的数组转换为另一种类型的数组

在 C# 中,我们通常会遇到需要将一种类型的数组转换为另一种类型的数组的情况。这可能是因为我们需要对数组进行不同的操作,或者需要将数组传递给其他函数,而这些函数需要不同类型的数组作为参数。

本文将介绍如何在 C# 中将一种类型的数组转换为另一种类型的数组。我们将涵盖以下几个方面:

  1. 为什么需要将数组类型转换为其他类型
  2. 如何将一种类型的数组转换为另一种类型的数组
    1. 使用 for 循环进行转换
    2. 使用 LINQ 进行转换
  3. 示例代码
为什么需要将数组类型转换为其他类型

数组是 C# 中一种重要的数据结构,因为它们可以存储多个相同类型的变量。但是,有时我们需要对数组执行不同的操作,这些操作需要不同类型的数组。比如,我们可能需要将一个字符串数组转换为一个数字数组,或者将一个整数数组转换为一个字符串数组。

如何将一种类型的数组转换为另一种类型的数组
使用 for 循环进行转换

最基本的方法是使用 for 循环遍历原始数组,然后将其中的每个元素转换为所需的类型,并将其添加到新数组中。以下是示例代码:

// 将字符串数组转换为数字数组
string[] strArray = {"1", "2", "3", "4", "5"};
int[] intArray = new int[strArray.Length];

for (int i = 0; i < strArray.Length; i++)
{
    intArray[i] = int.Parse(strArray[i]);
}
使用 LINQ 进行转换

使用 LINQ 进行数组类型转换比较简洁。我们可以使用 Select 方法和 Lambda 表达式来筛选并封装每个数组元素。以下是示例代码:

// 将字符串数组转换为数字数组(使用 LINQ)
string[] strArray = {"1", "2", "3", "4", "5"};
int[] intArray = strArray.Select(s => int.Parse(s)).ToArray();
示例代码

下面是一个完整的示例程序,该程序将从用户输入的字符串构建一个字符串数组,然后将其转换为数字数组,并计算所有数字的平均值。

using System;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("请输入数字,使用逗号分隔:");

        string input = Console.ReadLine();
        string[] strArray = input.Split(',');

        int[] intArray = strArray.Select(s => int.Parse(s)).ToArray();

        int sum = intArray.Sum();
        double average = (double) sum / intArray.Length;

        Console.WriteLine("数组元素总和为:" + sum);
        Console.WriteLine("数组元素平均值为:" + average);
    }
}

以上就是 C# 中将一种类型的数组转换为另一种类型的数组的详细介绍。希望对你有所帮助!