我需要能够返回代码fleetVehicles.insertVehicle(vehicles[i])
的最后一行,但是我不能这样做,因为它嵌套在所有其他循环中。...我知道代码不是最好的但是,它可以满足我的需要。有没有一种方法可以获取该价值,或者我需要重新安排所有循环?我真的很困惑,任何答案都会有所帮助。代码如下。
谢谢你
void setUpVehicles(out Fleets fleetVehicles)
{
using (StreamReader stream = new StreamReader(@"..\..\..\Data\data.csv"))
{
while (!stream.EndOfStream)
{
string lines = stream.ReadLine();
string[] column = lines.Split(new char[] { ',' });
string firstcolumn = (column[0]);
string secondcolumn = (column[1]);
var rentals_cost = File.ReadLines(@"..\..\..\Data\data2.csv");
foreach (var line in rentals_cost)
{
if (linee.Split(',')[0].Equals(firstcolumn))
{
string[] vehicles = File.ReadAllLines(@"..\..\..\Data\data1.csv").Where(line => !line.StartsWith(rego)).ToArray();
fleetVehicles = new Fleets();
for (int i = 0; i < vehicles.Length; i++)
{
fleetVehicles.insertVehicle(vehicles[i]);
}
}
}
}
}
}
答案 0 :(得分:0)
没有什么可以阻止您首先创建Fleets对象,然后将其填充到循环中。这样,您可以使用以下函数返回Fleets对象:
Fleets setUpVehicles()
{
var fleetVehicles = new Fleets();
{
using (StreamReader stream = new StreamReader(@"..\..\..\Data\data.csv"))
{
while (!stream.EndOfStream)
{
{
string lines = stream.ReadLine();
string[] column = lines.Split(new char[] { ',' });
string firstcolumn = (column[0]);
string secondcolumn = (column[1]);
var rentals_cost = File.ReadLines(@"..\..\..\Data\data2.csv");
foreach (var line in rentals_cost)
{
// you had a little typo here
if (line.Split(',')[0].Equals(firstcolumn))
{
string[] vehicles = File.ReadAllLines(@"..\..\..\Data\data1.csv").Where(line => !line.StartsWith(rego)).ToArray();
for (int i = 0; i < vehicles.Length; i++)
{
fleetVehicles.insertVehicle(vehicles[i]);
}
}
}
}
}
}
return fleetVehhicles;
}
答案 1 :(得分:0)
我想你要退回上一辆车
string setUpVehicles(out Fleets fleetVehicles) {
string returnValue = null;
using(StreamReader stream = new StreamReader(@ "..\..\..\Data\data.csv")) {
while (!stream.EndOfStream) {
{
string lines = stream.ReadLine();
string[] column = lines.Split(new char[] {
','
});
string firstcolumn = (column[0]);
string secondcolumn = (column[1]);
var rentals_cost = File.ReadLines(@ "..\..\..\Data\data2.csv");
foreach(var line in rentals_cost) {
if (linee.Split(',')[0].Equals(firstcolumn)) {
string[] vehicles = File.ReadAllLines(@ "..\..\..\Data\data1.csv").Where(line => !line.StartsWith(rego)).ToArray();
fleetVehicles = new Fleets();
for (int i = 0; i < vehicles.Length; i++) {
fleetVehicles.insertVehicle(vehicles[i]);
returnValue = vehicles[i];
}
}
}
}
}
}
return returnValue;
}