Can this be done using LINQ/Lambda, C#3.0

Posted by Newbie on Stack Overflow See other posts from Stack Overflow or by Newbie
Published on 2010-04-23T04:34:01Z Indexed on 2010/04/23 4:53 UTC
Read the original article Hit count: 240

Filed under:

Objective: Generate dates based on Week Numbers

Input: StartDate, WeekNumber

Output: List of dates from the Week number specified till the StartDate i.e. If startdate is 23rd April, 2010 and the week number is 1, then the program should return the dates from 16th April, 2010 till the startddate.

The function

public List<DateTime> GetDates(DateTime startDate,int weeks)
        {
            List<DateTime> dt = new List<DateTime>();
            int days = weeks * 7;

            DateTime endDate = startDate.AddDays(-days);
            TimeSpan ts = startDate.Subtract(endDate);
            for (int i = 0; i <= ts.Days; i++)
            {
                DateTime dt1 = endDate.AddDays(i);
                dt.Add(dt1);
            }

            return dt;
        }

I am calling this function as

DateTime StartDate = DateTime.ParseExact("20100423", "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture);
            List<DateTime> dtList = GetDates(StartDate, 1);

The program is working fine.

Question is using C# 3.0 feature like Linq, Lambda etc. can I rewrite the program.

Why? Because I am learning linq and lambda and want to implement the same. But as of now the knowledge is not sufficient to do the same by myself.

Thanks.

© Stack Overflow or respective owner

Related posts about c#3.0