类不包含定义

时间:2016-09-24 16:08:12

标签: c# class definition

我做了这个课

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();
    }
}

}

1 个答案:

答案 0 :(得分:0)

它正在数组 PagaminimoData中寻找keikis。改变这一行:

if ((Dabartinis.Year) - (kiekis.PagaminimoData[i]).Year > maxAge)

if ((Dabartinis.Year) - (kiekis[i].PagaminimoData).Year > maxAge)