我做了这个课
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _14Uzduotis
{
class Class1
{
public string ValstybinisNumeris { get; set; }
public string Gamintojas { get; set; }
public string Modelis { get; set; }
public DateTime PagaminimoData { get; set; }
public DateTime TechnineApziura { get; set; }
public string Kuras { get; set; }
public double Sanaudos { get; set; }
public Class1(string valstybinisNumeris, string gamintojas, string modelis, DateTime pagaminimoData, DateTime technikineApziura, string kuras, double sanaudos)
{
ValstybinisNumeris = valstybinisNumeris;
Gamintojas = gamintojas;
Modelis = modelis;
PagaminimoData = pagaminimoData;
TechnineApziura = technikineApziura;
Kuras = kuras;
Sanaudos = sanaudos;
}
}
}
在第54行中,它表示Class1 []没有PagaminimoData的定义。在for循环中,它甚至表示即使我已经在上面声明它们,这些变量也不存在。请帮忙!
using System;
using System.Collections.Generic; // DARBA ATLIKO IFF- 6/15 GRUPES STUDENTAS TAUTVYDAS VAITKUS
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Globalization;
namespace _14Uzduotis
{
class Program
{
static void Main(string[] args)
{
int count = 0;
int i = 0;
DateTime Dabartinis = DateTime.Now;
var kiekis = new Class1[count];
using (StreamReader skaitymas = new StreamReader(@"Duomenys.txt"))
{
string line = null;
string[] values;
while (null != (line = skaitymas.ReadLine())) // Nuskaitymo ciklas
{
values = line.Split(';');
string ValstybinisNumeris = (values[0]);
string Gamintojas = (values[1]);
string Modelis = (values[2]);
DateTime PagaminimoData = DateTime.Parse(values[3]);
DateTime TechnineApziura = (DateTime.Parse(values[4]));
string Kuras = (values[5]);
double Sanaudos = (Convert.ToDouble(values[6]));
i++;
Class1 automobiliai = new Class1(ValstybinisNumeris, Gamintojas, Modelis, PagaminimoData, TechnineApziura, Kuras, Sanaudos);
kiekis[count++] = automobiliai;
}
int maxAge = 0;
string maxValstybinis = null;
string maxGamintojas = null;
string maxModelis = null;
for (i = 0; i < count; i++) // Ciklas nustatyti seniausiam automobiliui
{
//if ((Class1.PagaminimoData[i].HasValue) && (TechnineApziura[i].HasValue))
//{
if ((Dabartinis.Year) - (kiekis.PagaminimoData[i]).Year > maxAge)
{
maxAge = Dabartinis.Year - (PagaminimoData[i].Value).Year;
maxValstybinis = ValstybinisNumeris[i];
maxModelis = Modelis[i];
maxGamintojas = Gamintojas[i];
}
//}
}
Console.WriteLine("Seniausias automobilis: {0} {1} \nValstybiniai numeriai: {2} \nŠio automobilio amžius: {3}", maxGamintojas, maxModelis, maxValstybinis, maxAge);
}
Console.WriteLine("-------------Benzinu varomi automobiliai-------------");
for (i = 0; i<count; i++) // Ciklas atrinkti kurie automobiliai yra varomi benzinu
{
if ((Kuras[i] == "Benzinas")||(Kuras[i] == "Benzinas/Dujos"))
{
Console.WriteLine("\n{0} \n{1} {2} \n{3}", ValstybinisNumeris[i], Gamintojas[i], Modelis[i], (PagaminimoData[i].Value).Year);
}
if (Sanaudos[i] < 6)
{
using (StreamWriter writer = new StreamWriter("Ekonomiski.csv"))
{
writer.WriteLine("{0} {1} {2} {3}/{4} {5}/{6} {7} {8}", ValstybinisNumeris[i], Gamintojas[i], Modelis[i], PagaminimoData[i].Value.Year, PagaminimoData[i].Value.Month, TechnineApziura[i].Value.Year, TechnineApziura[i].Value.Month , Kuras[i], Sanaudos[i]);
}
}
if (Dabartinis.Year == (TechnineApziura[i].Value.Year)) // Tikrinama kiek laiko liko iki technikines apziuros pabaigos
{
if ((Dabartinis.Month - (TechnineApziura[i].Value.Month) <= 3))
{
using (StreamWriter apziura = new StreamWriter("Apziura.csv"))
{
apziura.WriteLine("{0} {1} {2} {3}/{4}", Gamintojas[i], Modelis[i], ValstybinisNumeris[i], TechnineApziura[i].Value.Year, TechnineApziura[i].Value.Month);
}
}
}
}
Console.ReadKey();
}
}
}
答案 0 :(得分:0)
它正在数组 PagaminimoData
中寻找keikis
。改变这一行:
if ((Dabartinis.Year) - (kiekis.PagaminimoData[i]).Year > maxAge)
到
if ((Dabartinis.Year) - (kiekis[i].PagaminimoData).Year > maxAge)