【发布时间】:2019-07-15 19:12:24
【问题描述】:
我有两个列表框,其中的字符如下:
Listbox1 Listbox2
Model1 Price1
Model2 Price2
Model3 Price3
Model4 Price4
我想在一个 listbox3 中显示两个列表,这样:
Listbox
Model1,Price1
Model2,Price2
Model3,Price3
Model4,Price4
我尝试合并列表,但出现错误:
System.ArgumentOutOfRangeException: '索引超出范围。必须是非负数且小于集合的大小。 参数名称:index'
///
///Modelos
///
public string[] _EModelsArray;
public string[] _ModelsArray;
public string[] _UnionArray;
StreamReader _reader = new StreamReader(@".\MODELOS.txt"); // Abre el archivo de texto
List<string> _info = new List<string>();
while(!_reader.EndOfStream)
{
string _line = _reader.ReadLine().Trim();
string [] _tokens = _line.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries);
///
/// crear el listado
///
var _Model = new List<string>();
var _EModel = new List<string>();
var _Union = new List<string>();
//var _EQty = new List<string>();
if (_tokens.Length == 2)
{
_Model.Add(_tokens[0]);
_EModel.Add(_tokens[1]);
//_EQty.Add(_tokens[2]);
}
//else
//MessageBox.Show("Error!!!");
///
/// Convertir en array
///
_ModelsArray = _Model.ToArray();
_EModelsArray = _EModel.ToArray();
foreach (var item in _ModelsArray)
{
listBox1.Items.Add(item);
}
foreach (var item in _EModelsArray)
{
listbx2.Items.Add(item);
}
for (int i = 0; i <=30; i ++)
{
_Union[i] = _Model[i] + _EModel[i];
}
_UnionArray = _Union.ToArray();
foreach (var item in _UnionArray)
{
listbx_union.Items.Add(item);
}
而我正在为:
Listbox3
Model1,Price1
Model2,Price2
Model3,Price3
Model4,Price4
型号和价格合并为 1 行。
【问题讨论】:
-
TBH,创建一个类来保存这些数据,然后以你想要的方式使用它......你正在加倍使用这些数据......
标签: c# arrays arraylist listbox concatenation