繁体   English   中英

C#从列表中获取每个对象

[英]C# getting each object from a List

我知道我的示例不是从列表中获取每个对象的好方法。 这是我的示例:

var getWeeks = GetWeeks();
        var startOfWeek6 = getWeeks[0].startOfWeek6;
        var endOfWeek6 = getWeeks[0].endOfWeek6;
        var startOfWeek5 = getWeeks[0].startOfWeek5;
        var endOfWeek5 = getWeeks[0].endOfWeek5;
        var startOfWeek4 = getWeeks[0].startOfWeek4;
        var endOfWeek4 = getWeeks[0].endOfWeek4;
        var startOfWeek3 = getWeeks[0].startOfWeek3;
        var endOfWeek3 = getWeeks[0].endOfWeek3;
        var startOfWeek2 = getWeeks[0].startOfWeek2;
        var endOfWeek2 = getWeeks[0].endOfWeek2;
        var startOfWeek1 = getWeeks[0].startOfWeek1;
        var endOfWeek1 = getWeeks[0].endOfWeek1;

您有理想还是简单的方法? 这是我的用法示例:

var transactionWk6 = dataSet.Tables["dataBridge"]
            .AsEnumerable()
            .Where(a => Convert.ToDateTime(a["reportingDate"].ToString()) >= startOfWeek6 && Convert.ToDateTime(a["reportingDate"].ToString()) < endOfWeek6.AddDays(1)) 
            .GroupBy(a => 1)
            .Select(d =>
                d.Sum(a => a.Field<double?>("TranCount"))
            ).FirstOrDefault();

这是我的答案,它有效。

   public WeekDates GetWeeks()
   {
      result.totaltransaction = new WeekDates
        {
        startOfWeek6 = now.AddDays((-(int) now.DayOfWeek + 1) - getDay),
            endOfWeek6 = now.AddDays((-(int) now.DayOfWeek + 1) - getDay + 6),

            startOfWeek5 = now.AddDays((-(int) now.DayOfWeek + 1) - getDay - 7),
            endOfWeek5 = now.AddDays((-(int) now.DayOfWeek + 1) - getDay + 6 - 7),

            startOfWeek4 = now.AddDays((-(int) now.DayOfWeek + 1) - getDay - 14),
            endOfWeek4 = now.AddDays((-(int) now.DayOfWeek + 1) - getDay + 6 - 14),

            startOfWeek3 = now.AddDays((-(int) now.DayOfWeek + 1) - getDay - 21),
            endOfWeek3 = now.AddDays((-(int) now.DayOfWeek + 1) - getDay + 6 - 21),

            startOfWeek2 = now.AddDays((-(int) now.DayOfWeek + 1) - getDay - 28),
            endOfWeek2 = now.AddDays((-(int) now.DayOfWeek + 1) - getDay + 6 - 28),

            startOfWeek1 = now.AddDays((-(int) now.DayOfWeek + 1) - getDay - 35),
            endOfWeek1 = now.AddDays((-(int) now.DayOfWeek + 1) - getDay + 6 - 35)

return result;

}

这是我给他们的称呼:

var getWeeksData = GetWeeks();
        var getWeeks = getWeeksData.totaltransaction;           

        var startOfWeek6 = getWeeks.startOfWeek6;
        var endOfWeek6 = getWeeks.endOfWeek6;
        var startOfWeek5 = getWeeks.startOfWeek5;
        var endOfWeek5 = getWeeks.endOfWeek5;
        var startOfWeek4 = getWeeks.startOfWeek4;
        var endOfWeek4 = getWeeks.endOfWeek4;
        var startOfWeek3 = getWeeks.startOfWeek3;
        var endOfWeek3 = getWeeks.endOfWeek3;
        var startOfWeek2 = getWeeks.startOfWeek2;
        var endOfWeek2 = getWeeks.endOfWeek2;
        var startOfWeek1 = getWeeks.startOfWeek1;
        var endOfWeek1 = getWeeks.endOfWeek1;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM