0

日付のリストで合計日数を取得したいだけです。これが10日を返す私のコードです。4日ほど印刷する必要があります。

static void Main(string[] args)
{
    //Initializes new List of DataTime Object.
    List<DateTime> Dates = new List<DateTime>();

    //Fills the List of DateTime Object.
    for (int i = 0; i < 5; i++)
    {
        Dates.Add(DateTime.Now.AddDays(i));
        //Adds new DataTime Object in the list of DateTime Object.
        Thread.Sleep(1000); //Stop filling dates for one second.
    }

    //Prints the List of DataTime Object.
    for (int i = 0; i <5 ; i++)
    {
        Console.WriteLine(Dates[i]);
    }
    avgDate(Dates);
}

public static void avgDate(List<DateTime> Dates) {
    long totalTicks = 0;
    string avgticks = "";
    TimeSpan days = new TimeSpan();

    for (int i = 0; i < Dates.Count; i++)
    {
        for (int j = 1; j < Dates.Count; j++)
        {
            days += (Dates[j] - Dates[i]);
        }
    }
    Console.WriteLine(days.TotalDays);
    Console.ReadLine();`
}
4

2 に答える 2

1

リストに日付があるのに、なぜいくつかのlinq関数が機能しないのでしょうか。

days = Dates.Max() - Dates.Min();
Console.WriteLine(days.TotalDays);

A <B <Cが与えられたと確信しています、

(B-A)+(C-B)= C-A

于 2012-04-06T03:56:41.333 に答える
1

1ループで十分!編集:さらに単純化しました。

public static void avgDate(List<DateTime> Dates) {
    long totalTicks = 0;
    string avgticks = "";
    TimeSpan days = new TimeSpan();

    for (int i = 1; i < Dates.Count; i++)
    {
        days += (Dates[i] - Dates[i-1]);
    }
    Console.WriteLine(days.TotalDays);
    Console.ReadLine();`
于 2012-04-06T03:31:41.937 に答える