C# 如何用数组遍历一个list并强转赋值给另一个list ,遍历的时候用try-catch 块来处理异常情况
时间: 2024-02-21 09:57:05 浏览: 111
可以使用以下代码实现:
```
List<object> list1 = new List<object>(); // 原始 List
List<int> list2 = new List<int>(); // 目标 List
// 遍历 list1,将值强转为 int 并赋值给 list2
foreach (var item in list1)
{
try
{
int val = Convert.ToInt32(item);
list2.Add(val);
}
catch (Exception ex)
{
// 处理异常情况,例如值无法转换为 int
Console.WriteLine(ex.Message);
}
}
```
在这个例子中,我们首先声明了两个 List:`list1` 和 `list2`。然后,我们使用 `foreach` 循环遍历 `list1` 中的每一个元素。在循环中,我们尝试将当前元素强转为 `int` 类型,并将转换后的值添加到 `list2` 中。如果转换失败,则会进入 `catch` 块,输出异常信息。
相关问题
C# 如何用数组遍历一个list并强转赋值给另一个list
假设有一个名为 `list1` 的 `List<object>` 类型的列表,需要将其中的元素强转为 `int` 类型并存储到另一个名为 `list2` 的 `List<int>` 类型的列表中,可以按照以下步骤操作:
1. 创建一个空的 `List<int>` 类型的列表 `list2`。
2. 遍历 `list1` 中的元素,使用 `foreach` 循环或者 `for` 循环来实现。
3. 在循环中,将当前元素强转为 `int` 类型,并将其添加到 `list2` 中。
具体代码实现如下:
```
List<object> list1 = new List<object>(); // 假设 list1 中包含一些 object 类型的元素
List<int> list2 = new List<int>();
foreach (object item in list1)
{
if (item is int intValue) // 使用 C# 7.0 中的模式匹配,判断当前元素是否为 int 类型
{
list2.Add(intValue); // 将当前元素强转为 int 类型并添加到 list2 中
}
}
```
需要注意的是,如果 `list1` 中的元素不是全部都能强转为 `int` 类型,那么在强转时可能会出现异常,可以使用 `try-catch` 块来处理异常情况。同时,在使用 `foreach` 循环遍历 `list1` 时,不要尝试去修改 `list1` 中的元素,否则可能会导致程序出错。
C# 如何用数组遍历一个list并强转为List<RPQuotationProductMaterialBFO>形式赋值给另一个list ,遍历的时候用try-catch 块来处理异常情况
可以使用以下代码来实现:
```csharp
List<object> objList = new List<object>(); // 原始list
List<RPQuotationProductMaterialBFO> resultList = new List<RPQuotationProductMaterialBFO>(); // 转换后的list
foreach (object obj in objList)
{
try
{
RPQuotationProductMaterialBFO item = (RPQuotationProductMaterialBFO)obj;
resultList.Add(item);
}
catch (InvalidCastException e)
{
// 处理类型转换异常
Console.WriteLine("类型转换出错:" + e.Message);
}
}
```
其中,`objList` 是原始的 `List<object>` 类型的列表,`resultList` 是需要转换为 `List<RPQuotationProductMaterialBFO>` 类型的列表。
在循环遍历 `objList` 时,使用 `try-catch` 块来尝试将当前元素强制转换为 `RPQuotationProductMaterialBFO` 类型。如果转换成功,则将转换后的元素添加到 `resultList` 中;如果转换失败,则会抛出 `InvalidCastException` 异常,可以在 `catch` 块中对异常进行处理。
阅读全文