2016-09-24 4 views
0

Ich habe diese Klasse gemachtKlasse enthält keine 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; 

    } 
} 
} 

In der 54. Zeile heißt es, dass Class1 [] keine Definition für PagaminimoData haben. In für Zyklus sagt es sogar, dass diese Variablen nicht existieren, obwohl ich sie oben erklärt habe. Bitte helfen Sie!

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' ist keine statische Eigenschaft. Ändere 'Class1.PagaminimoData [i]' in 'kiekis [i] .PagaminimoData' wenn du die' i'te Instanz von 'Class1' im' kiekis' Array haben willst –

+1

@ MathiasR.Jessen, diese Zeile ist auskommentiert. Die Lösung ist jedoch ähnlich. 'kiekis.PagaminimoData [i]' -> 'kiekis [i] .PagaminimoData' – dukedukes

+0

Vielen Dank :) –

Antwort

0

Es sucht nach PagaminimoData im Arraykeikis. Ändern Sie diese Zeile:

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

zu

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