如何将List<string[]>类型的_editingRowData多记录存入tmpData?
解决方法
首先要纠正你代码里的类型不匹配错误:你把string[]直接赋值给List<string[]>类型变量,这在C#里是不允许的,正确的初始化方式应该是这样:
// 初始化包含示例数据的List<string[]> List<string[]> _editingRowData = new List<string[]> { new string[] { "01", "33", "Cat1, PBR, PPR" }, new string[] { "02", "84", "TRim, Warehouse" } }; // 初始化空的tmpData,若需要保留初始空数组元素可改成注释里的写法 List<string[]> tmpData = new List<string[]>(); // List<string[]> tmpData = new List<string[]> { new string[] { "", "", "" } };
接下来把_editingRowData里的所有记录添加到tmpData,有两种常用方式:
1. 使用AddRange方法(批量添加,高效简洁)
tmpData.AddRange(_editingRowData);
2. 循环遍历逐个添加
如果需要在添加时做额外处理(比如过滤、修改元素),可以用循环:
foreach (var row in _editingRowData) { // 若要避免后续修改原数组影响tmpData,可复制数组创建独立副本 var copiedRow = (string[])row.Clone(); tmpData.Add(copiedRow); }
注意:直接添加数组引用的话,后续修改
_editingRowData里的数组元素会同步影响tmpData中的对应元素,需要独立数据时记得复制数组。
内容的提问来源于stack exchange,提问作者meha
相关产品推荐
相关产品推荐

