C#中数组类型的相互转换

string数组类型转换为int数组.
方法一:ConvertAll的用法

1 public static int StrToInt(string str)
2 {
3 return int.Parse(str);
4 }
5
6 string[] arrs = new string[] { "100", "300", "200" };
7 int[] arri = Array.ConvertAll(arrs, new Converter<string, int>(StrToInt));方法二:使用数组循环分别转换。

1 string[] str1 = new string[] {"100","300","200"};
2
3 int[] intTemp = new int[str1.Length];
4 for (int i = 0; i <str1.Length; i++)
5 {
6 int.TryParse(str1[i],out intTemp[i]);//int.TryParse函数返回Bool型。不会抛出异常
7 }方法三:

1 string[] str1 = new string[] {"1000000",","300","200"};
2
3 int[] intTemp = new int[str1.Length];
4 for (int i = 0; i <str1.Length; i++)
5 {
6 intTemp[i] = int.Parse(str1[i]);
7 }

### C#数组类型的强制转换C# 中,对于数组类型的强制转换主要涉及两个方面:一是基础数据类型之间的相互转换;二是通过特定的方法实现复杂对象间的转换。当处理基本数据类型时,可以直接利用隐式或显式的类型转换机制来完成数组元素的转换。 然而,在尝试对整个数组进行整体性的类型转换时,则需要更加谨慎的操作方式[^2]。下面提供了一个简单的例子展示如何将 `int[]` 类型数组转换成 `double[]`: ```csharp // 定义整数数组并初始化 int[] intArray = { 1, 2, 3 }; // 创建一个新的 double 数组用于存储转换后的结果 double[] doubleArray = new double[intArray.Length]; // 使用循环遍历原数组并将每个元素转换为目标类型后存入新数组 for (int i = 0; i < intArray.Length; ++i) { doubleArray[i] = Convert.ToDouble(intArray[i]); } ``` 需要注意的是,上述代码片段展示了最直接的方式来进行逐项转换,并不是真正意义上的“强转”。真正的强转通常指的是编译器能够识别并且支持的基础类型间的安全转换过程。如果要实现更复杂的自定义类型之间(比如自定义结构体或类)的转换,则可能需要用到用户定义的转换操作符重载功能。 此外,还可以考虑使用 LINQ 表达式简化这一流程: ```csharp using System.Linq; ... var doubleArrayLinq = intArray.Select(x => (double)x).ToArray(); ``` 此方法不仅简洁明了而且易于维护。不过值得注意的一点是,无论是采用传统的 foreach 循环还是现代的 LINQ 查询语法,这些都属于创建新的目标类型实例的过程而非严格意义上讲的“强制转换”。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值