Je suis un peu perdu sur la façon de faire ça. Je sais comment initialiser un tableau avec des valeurs au moment de la déclaration. Mais comment puis-je le faire avec un tableau de type DateTime car il prend plusieurs arguments pour créer une date? P>
5 Réponses :
Vous voulez dire comme ça?
Cela semble assez simple. L'utilisation du nouveau mot-clé ne va pas causer de causer des problèmes?
NON N'oubliez pas que DateTimes est un tableau d'objets DateTime, donc à l'intérieur, il doit s'agir de l'instance de la classe DateTime.
Ok, je l'ai fait sans le nouveau mot clé. Semble fonctionner bien avec juste {DateTime (x, x, x)}, etc. J'étais juste inquiet que le nouveau mot-clé crée de nouveaux objets pour chaque valeur que je n'avais pas besoin. Merci!
Je suis confus. Si vous souhaitez un tableau d'objets DateTime, chaque élément de la matrice doit être un nouvel objet DateTime (ou existant).
À l'époque, j'étais encore nouveau à OOP. J'ai pleinement compris ce qui se passait maintenant lol.
DateTime [] startDate = new DateTime[5];
startDate[0] = new DateTime(11, 11, 10);
startDate[1] = new DateTime(11, 11, 10);
startDate[2] = new DateTime(11, 11, 10);
startDate[3] = new DateTime(11, 11, 10);
startDate[4] = new DateTime(11, 11, 10);
La dernière ligne provoquera une erreur, car il n'y a que 5 éléments dans la matrice.
DateTime "name_of_each_element_of_the_array"= new DateTime(int value_of_year,int value_of_month, int value_of_day);//this is each element that is added in each position of the array
For example, i want to add a DateTime array of 4 elements: DateTime[] myarray=new DateTime [4]; //the array is created
int year, month, day; //variables of date are created
for(int i=0; i<myarray.length;i++)
{
Console.WriteLine("Day");
day=Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Month");
month=Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Year");
year=Convert.ToInt32(Console.ReadLine());
DateTime date =new DateTime(year,month,day); //here is created the object DateTime, that contains day, month and year of a date
myarray[i]=date; //and then we set each date in each position of the array
}
Cela n'initialise pas à Temps de déclaration i>.
Si vous souhaitez créer un tableau pour une durée de gamme entre deux dates, vous pouvez faire quelque chose comme ceci:
timeEndDate = timeStartDate.AddYears(1); // or .AddMonts etc..
rangeTimeSpan = timeEndDate.Subtract(timeStartDate); //declared prior as TimeSpan object
rangeTimeArray = new DateTime[rangeTimeSpan.Days]; //declared prior as DateTime[]
for (int i = 0; i < rangeTimeSpan.Days; i++)
{
timeStartDate = timeStartDate.AddDays(1);
rangeTimeArray[i] = timeStartDate;
}