2016-09-24 2 views
0

J'ai fait cette classeclasse ne contient pas defininition

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; 

    } 
} 
} 

Conformément 54e, il dit que Class1 [] n'a pas de définition pour PagaminimoData. En cycle, il dit même que ces variables n'existent pas même si je les ai déclarées ci-dessus. S'il vous plaît aider!

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

'PagaminimoData' n'est pas une propriété statique. Changez 'Class1.PagaminimoData [i]' en 'kiekis [i] .PagaminimoData' si vous voulez que la' i'th instance de 'Class1' dans le tableau' kiekis' –

+1

@ MathiasR.Jessen soit mise en commentaire. La solution est similaire cependant. 'kiekis.PagaminimoData [i]' -> 'kiekis [i] .PagaminimoData' – dukedukes

+0

Merci beaucoup :) –

Répondre

0

Il cherche PagaminimoData dans le tableau keikis. Changer cette ligne:

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

à

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