2016-04-07 17 views
-3

Schedule.csGlobal dizi pencere C#

public static class SchArray 
{ 

    public static string[] clientName = new string[20]; 
    public static DateTime[] startDate = new DateTime[20]; 
    public static DateTime[] endDate = new DateTime[20]; 
    public static string[] allocatedDriver = new string[20]; 
    public static string[] depot = new string[20]; 
    public static int count = 3; 
} 

public void schedule() 
{ 

    SchArray.clientName[0] = "eric cartman"; 
    SchArray.clientName[1] = "peter griffin"; 
    SchArray.clientName[2] = "homer simpson"; 
    SchArray.startDate[0] = Convert.ToDateTime("2016,3,2"); 
    SchArray.startDate[1] = Convert.ToDateTime("2016,3,4"); 
    SchArray.startDate[2] = Convert.ToDateTime("2016,3,5"); 
    SchArray.endDate[0] = Convert.ToDateTime("2016,3,3"); 
    SchArray.endDate[1] = Convert.ToDateTime("2016,3,5"); 
    SchArray.endDate[2] = Convert.ToDateTime("2016,3,6"); 
    SchArray.allocatedDriver[0] = "owen"; 
    SchArray.allocatedDriver[1] = "daniel"; 
    SchArray.allocatedDriver[2] = "owen"; 
    SchArray.depot[0] = "depot1"; 
    SchArray.depot[1] = "depot2"; 
    SchArray.depot[2] = "depot3"; 
} 

Work_Schedule.cs teselli etmek için okumazlar

public void schedule() 
{ 

    Console.Clear(); 
    Console.WriteLine(" Create Work Schedule "); 

    Console.WriteLine(Schedule.SchArray.clientName[0]); 
    Console.ReadKey(); 
} 

Console.WriteLine(Schedule.SchArray.clientName[0]); 

^^^^^ Adını Eric Cartman göstermesi gerekir bu hat i hata ayıkladı ve dizide hiçbir nesne olmadığını söylüyorlar, hepsi boş.

+1

Neden clientName/startDate/endDate vb özelliklere sahip bir sınıf dizisi yok –

+1

1. OO kullanın! 2. Schedule.schedule() 'yi aradınız mı? – Bas

+1

İlgili kodu göstermiyorsunuz. "Schedule()" yi nerede arıyorsun? –

cevap

0

Sen Schedule bir nesne oluşturmak gerekir:

Schedule scheduleObject = new Schedule(); 
    Console.WriteLine(SchArray.clientName[0]); 

bu özel senaryosu için, ben bir statik liste/dizi yaratmanın farklı bir yaklaşım önermek istiyorum nesneler. Aşağıdaki gibi beni sınıfını değiştirmek edelim:

public class SchArray 
    { 
     public string clientName; 
     public DateTime startDate; 
     public DateTime endDate; 
     public string allocatedDriver; 
     public string depot; 
     public int count = 3; 
    } 

Ve statik olarak tanımlanan bir List<SchArray> var;

public static List<SchArray> StaticSchArray = new List<SchArray>(); 

O zaman, aşağıdaki gibi, listeyi olabilir:

StaticSchArray.Add(new SchArray() {clientName="eric cartman", 
           startDate=Convert.ToDateTime("2016,3,2"), 
           endDate= Convert.ToDateTime("2016,3,2"), 
           depot="depot1",allocatedDriver ="owen" }); 

Benzer şekilde, diğer unsurlar da diziye eklenebilir. Bu senaryo için daha iyi bir seçenek olacaktır.

0

Size ait verileri almayı denemeden önce, işlevinizi schedule() numaralı telefondan aramalısınız. dizi elemanları Kurucuların içinde başlatılır edilen çiniler beri

+0

Ayrıca işlev bir sınıfa eklenmelidir. –

+0

'zaman çizelgesi' bir kurucu değil, bir yöntem –

+1

değil, bir kamuya açık olacak bir yöntem bu yüzden bir yöntem –