Я пытаюсь просмотреть список и скопировать его несколько раз без изменения кроме даты. Мне нужно увеличить дату на 1 с 2017/06/01 - 2017/07/01, но каждый раз, когда я пытаюсь перейти к дате, я указываю, что за каждый день, предшествующий этому месяцу, и последний добавленный элемент повторяется снова и снова, а не повторяется весь список. Ниже мой код, а также вывод, который я получаю.Как я прокручиваю сериализованный список, не изменяя содержимое, кроме увеличения числа на 1 с 2017/06/01 по 2017/07/01
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using FlightFactory;
using System.IO;
using System.Xml.Serialization;
namespace Flights
{
public partial class Form1 : Form
{
StreamWriter sw;
XmlSerializer serial;
List<FlightFactories> flightList;
const string FLIGHT_FILENAME = @"..\..\flights.xml";
public Form1()
{
InitializeComponent();
}
private void btnCreateFlights_Click(object sender, EventArgs e)
{
flightList = new List<FlightFactories>();
FlightFactories f = new FlightFactories("102", 20170601, "0616", "MIA", "SEA", 1550, "10");
flightList.Add(f);
//lblResults.Text = P.ToString();
f = new FlightFactories("103", 20170601, "1016", "MIA", "SEA", 2120, "10");
flightList.Add(f);
f = new FlightFactories("145", 20170601, "1316", "MIA", "SEA", 2850, "10");
flightList.Add(f);
f = new FlightFactories("146", 20170601, "2016", "MIA", "SEA", 1300, "10");
flightList.Add(f);
f = new FlightFactories("153", 20170601, "0816", "MIA", "DEN", 1800, "10");
flightList.Add(f);
f = new FlightFactories("156", 20170601, "1416", "MIA", "DEN", 2970, "10");
flightList.Add(f);
f = new FlightFactories("160", 20170601, "1916", "MIA", "DEN", 1950, "10");
flightList.Add(f);
f = new FlightFactories("164", 20170601, "2216", "MIA", "DEN", 850, "10");
flightList.Add(f);
f = new FlightFactories("167", 20170601, "1016", "MIA", "LAX", 2120, "10");
flightList.Add(f);
f = new FlightFactories("172", 20170601, "1216", "MIA", "LAX", 2510, "10");
flightList.Add(f);
f = new FlightFactories("174", 20170601, "1716", "MIA", "LAX", 2200, "10");
flightList.Add(f);
f = new FlightFactories("176", 20170601, "2316", "MIA", "LAX", 750, "10");
flightList.Add(f);
f = new FlightFactories("177", 20170601, "0816", "SEA", "DEN", 1800, "10");
flightList.Add(f);
f = new FlightFactories("179", 20170601, "1216", "SEA", "DEN", 2510, "10");
flightList.Add(f);
f = new FlightFactories("185", 20170601, "1516", "SEA", "DEN", 2750, "10");
flightList.Add(f);
f = new FlightFactories("186", 20170601, "2016", "SEA", "DEN", 1300, "10");
flightList.Add(f);
f = new FlightFactories("188", 20170601, "0616", "LAX", "DEN", 1550, "10");
flightList.Add(f);
f = new FlightFactories("200", 20170601, "1016", "LAX", "DEN", 2120, "10");
flightList.Add(f);
f = new FlightFactories("202", 20170601, "1416", "LAX", "DEN", 2970, "10");
flightList.Add(f);
f = new FlightFactories("204", 20170601, "1916", "LAX", "DEN", 1950, "10");
flightList.Add(f);
f = new FlightFactories("206", 20170601, "1316", "SEA", "MIA", 2850, "10");
flightList.Add(f);
f = new FlightFactories("212", 20170601, "1516", "SEA", "MIA", 2750, "10");
flightList.Add(f);
f = new FlightFactories("214", 20170601, "1916", "SEA", "MIA", 1950, "10");
flightList.Add(f);
f = new FlightFactories("216", 20170601, "2316", "SEA", "MIA", 750, "10");
flightList.Add(f);
f = new FlightFactories("218", 20170601, "0816", "SEA", "LAX", 1800, "10");
flightList.Add(f);
f = new FlightFactories("222", 20170601, "1316", "SEA", "LAX", 2850, "10");
flightList.Add(f);
f = new FlightFactories("226", 20170601, "1716", "SEA", "LAX", 2200, "10");
flightList.Add(f);
f = new FlightFactories("228", 20170601, "2216", "SEA", "LAX", 850, "10");
flightList.Add(f);
f = new FlightFactories("230", 20170601, "0616", "DEN", "MIA", 1550, "10");
flightList.Add(f);
f = new FlightFactories("232", 20170601, "1216", "DEN", "MIA", 2510, "10");
flightList.Add(f);
f = new FlightFactories("234", 20170601, "1916", "DEN", "MIA", 1950, "10");
flightList.Add(f);
f = new FlightFactories("236", 20170601, "2316", "DEN", "MIA", 750, "10");
flightList.Add(f);
f = new FlightFactories("238", 20170601, "1416", "LAX", "SEA", 2970, "10");
flightList.Add(f);
f = new FlightFactories("241", 20170601, "1716", "LAX", "SEA", 2200, "10");
flightList.Add(f);
f = new FlightFactories("243", 20170601, "2016", "LAX", "SEA", 1300, "10");
flightList.Add(f);
f = new FlightFactories("247", 20170601, "2316", "LAX", "SEA", 750, "10");
flightList.Add(f);
f = new FlightFactories("250", 20170601, "0616", "DEN", "LAX", 1550, "10");
flightList.Add(f);
f = new FlightFactories("255", 20170601, "1216", "DEN", "LAX", 2510, "10");
flightList.Add(f);
f = new FlightFactories("257", 20170601, "1516", "DEN", "LAX", 2750, "10");
flightList.Add(f);
f = new FlightFactories("259", 20170601, "2016", "DEN", "LAX", 1300, "10");
flightList.Add(f);
f = new FlightFactories("260", 20170601, "0816", "DEN", "SEA", 1800, "10");
flightList.Add(f);
f = new FlightFactories("262", 20170601, "1316", "DEN", "SEA", 2850, "10");
flightList.Add(f);
f = new FlightFactories("264", 20170601, "2016", "DEN", "SEA", 1300, "10");
flightList.Add(f);
f = new FlightFactories("268", 20170601, "2216", "DEN", "SEA", 850, "10");
flightList.Add(f);
f = new FlightFactories("270", 20170601, "1016", "LAX", "MIA", 2120, "10");
flightList.Add(f);
f = new FlightFactories("272", 20170601, "1416", "LAX", "MIA", 2970, "10");
flightList.Add(f);
f = new FlightFactories("274", 20170601, "1916", "LAX", "MIA", 1950, "10");
flightList.Add(f);
f = new FlightFactories("276", 20170601, "2316", "LAX", "MIA", 750, "10");
flightList.Add(f);
for (int i = 20170701; i > f.Date; f.Date++)
{
flightList.Add(f);
}
serial = new XmlSerializer(flightList.GetType());
sw = new StreamWriter(FLIGHT_FILENAME);
serial.Serialize(sw, flightList);
sw.Close();
}
private void button2_Click(object sender, EventArgs e)
{
}
private void button3_Click(object sender, EventArgs e)
{
flightList = new List<FlightFactories>();
StreamReader sr = new StreamReader(FLIGHT_FILENAME);
serial = new XmlSerializer(flightList.GetType());
flightList = (List<FlightFactories>)serial.Deserialize(sr);
sr.Close();
foreach (FlightFactories f in flightList)
{
lstFlights.Items.Add(f.ToString());
}
}
private void lstFlights_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
}
Кстати это в C# в Visual Studio 2013.
Любая помощь будет высоко оценен.
EDIT
Вот FlightFacroty код, который ссылается на рейсы NAMESPACE жаль не размещать его.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlightFactory
{
public class FlightFactories
{
public string FlightNumber { get; set; }
public string OrigAirport { get; set; }
public string DesAirport { get; set; }
public int Fare { get; set; }
public string Seats { get; set; }
public string StartDate = "06/01/2017"; //Date format is MMDDYYYY
public string EndDate = "07/01/2017";
public string Time { get; set; } //Time is HH:mm 24 hour time
public FlightFactories() { }
public FlightFactories (string FlightNumber, int Date, string Time, string OrigAirport, string DesAirport, int Fare, string Seats)
{
this.FlightNumber = FlightNumber;
this.OrigAirport = OrigAirport;
this.DesAirport = DesAirport;
this.Fare = Fare;
this.Seats = Seats;
this.Date = Date;
this.Time = Time;
}
public override string ToString()
{
string flightDate = Date.ToString().Substring(4, 2) + "/" + Date.ToString().Substring(6, 2) + "/" + Date.ToString().Substring(0, 4);
string flightTime = Time.Substring(0, 2) + ":" + Time.Substring (2, 2);
DateTime dt1 = Convert.ToDateTime(StartDate);
DateTime dt2 = Convert.ToDateTime(EndDate);
string farePrice = Fare.ToString("c");
return String.Format("{0}, {1} at {2}, {3} to {4}, Cost: {5}, Seat: {6}", FlightNumber, flightDate, flightTime, OrigAirport, DesAirport, farePrice, Seats);
}
}
}
«каждый раз, когда я пытаюсь перейти к дате, я указываю месяц», но вы не указали ни одного месяца. Не могли бы вы пересмотреть свое описание вопроса? – KernelMode
указанный месяц - 07 или месяц. Так что он прыгает с 06/01/2017 по 07/01/2017, как показано на картинке. – user2792215
@ user2792215 - Вам необходимо предоставить [mcve]. Это не может быть проверено правильно, если мы не можем самостоятельно запустить ваш код. – Enigmativity