我的问题可能有一个简单的解决方案,但我只是没有抓住它。 在这种情况下,我希望通过用户在文本框等中输入的几个特征来登记车辆,并存储在阵列中,以便他可以查找车辆或改变所述车辆的某些特征。
分两步打破:
int aSize = Convert.ToInt32(numericUpDown1.Value);
int[] Viaturas;
Viaturas = new int[aSize];
假设第一点是好的,第二点是我挣扎的地方,我不知道如何编码。有什么想法吗?
提前致谢!
答案 0 :(得分:1)
听起来你想要创建一个对象来存储所有数据。
public class Vehicle {
public Vehicle(string make...) {
Make = make;
...
}
public string Make;
public string Model;
public string Year;
public string Color;
...
}
然后您可以使用List
来存储所有车辆,它将为您处理阵列的大小:
List<Vehicle> Vehicles = new List<Vehicle>();
Vehicles.Add(new Vehicle(textboxMake.Text, ...));
并访问它们:
textboxMake.Text = Vehicles[0].Make;
答案 1 :(得分:0)
我同意bwoogie - 为此使用强类型对象,如果可以,请使用列表。此示例显示了当用户填写表单并单击按钮时如何添加新车辆。它有样本数组或列表。请注意,数组和列表都可以传递到相同的方法,该方法需要一组车辆:
// you should be able to use a list...
List<Vehicle> list = new List<Vehicle>();
// or if you must use an array
Vehicle[] array; // initialize it like you do in your example
int arrayPosition = 0;
private void button1_Click(object sender, EventArgs e)
{
// create an instance of a strongly typed object using your textboxes, etc.
Vehicle v = new Vehicle();
v.Make = textBoxMake.Text;
v.PurchaseDate = dtpickerPurchaseDate.Value;
v.Engine = comboBoxEngine.SelectedText;
// add the strongly typed object to a list
list.Add(v);
// or if you must use an array
array[arrayPosition] = v;
arrayPosition++;
// you can call a method that expects an array even if you are using a list
DoStuffWithTheArray(list.ToArray());
// or if you must use an array
DoStuffWithTheArray(array);
}
private void DoStuffWithTheArray(Vehicle[] array)
{
// expects an array of vehicles, but you can call it with a list or an array.
}