C# 延长预测的星期几

C# 延长预测的星期几,c#,xslt-1.0,C#,Xslt 1.0,这样做的目的是使预测的第一天成为一周中的当前日期,其余的日子则紧随其后。0显然是星期天,6是星期六。我试图弄清楚这是否能正常工作,或者是否有更好的方法。下面的c代码显示了我是如何算出这是最简单的方法的,但是很明显我的数学超过了6,所以它没有显示最后几天。非常清楚地说,我只需要将一周中的几天从当天开始按顺序排列,这样我就可以应用于xsl代码,我还展示了一个示例。xsl中的每个职位都被视为一天。如果你能帮我学数学的话,我想这会有用的 ` DayOfWeek day1 =

这样做的目的是使预测的第一天成为一周中的当前日期,其余的日子则紧随其后。0显然是星期天,6是星期六。我试图弄清楚这是否能正常工作,或者是否有更好的方法。下面的c代码显示了我是如何算出这是最简单的方法的,但是很明显我的数学超过了6,所以它没有显示最后几天。非常清楚地说,我只需要将一周中的几天从当天开始按顺序排列,这样我就可以应用于xsl代码,我还展示了一个示例。xsl中的每个职位都被视为一天。如果你能帮我学数学的话,我想这会有用的

`               DayOfWeek day1 = DateTime.Now.DayOfWeek;
                    DayOfWeek day2 = day1 + 1;
                    DayOfWeek day3 = day2 + 1;
                    DayOfWeek day4 = day3 + 1;
                    DayOfWeek day5 = day4 + 1;
                    DayOfWeek day6 = day5 + 1;
                    DayOfWeek day7 = day6 + 1;
                    switch (day1)
                    {
                        default:
                        case DayOfWeek.Sunday:                      
                            break;
                        case DayOfWeek.Monday:
                            break;
                        case DayOfWeek.Tuesday:
                            break;
                        case DayOfWeek.Wednesday:
                            break;
                        case DayOfWeek.Thursday:
                            break;
                        case DayOfWeek.Friday:
                            break;
                        case DayOfWeek.Saturday:
                            break;

                    }
                     xFore.Root.Add(new XElement("day", day1),
                         new XElement("day2", day2),
                         new XElement("day3", day3),
                         new XElement("day4", day4),
                         new XElement("day5", day5),
                         new XElement("day6", day6),
                         new XElement("day7", day7));`



`                     <xsl:if test ="position()=1">Today</xsl:if>
                      <xsl:if test ="position()=2">
                        <xsl:value-of select="//day2"/>
                      </xsl:if>
                      <xsl:if test ="position()=3">
                        <xsl:value-of select="//day3"/>
                      </xsl:if>
                      <xsl:if test ="position()=4">
                      <xsl:value-of select="//day4"/>
                      </xsl:if>
                      <xsl:if test ="position()=5">
                        <xsl:value-of select="//day5"/>
                      </xsl:if>
                      <xsl:if test ="position()=6">
                        <xsl:value-of select="//day6"/>
                      </xsl:if>
                      <xsl:if test ="position()=7">
                        <xsl:value-of select="//day7"/>
                      </xsl:if>`
`DayOfWeek day1=DateTime.Now.DayOfWeek;
DayOfWeek day2=day1+1;
DayOfWeek day3=day2+1;
DayOfWeek day4=day3+1;
DayOfWeek day5=day4+1;
DayOfWeek第6天=第5天+1天;
DayOfWeek第7天=第6天+1天;
开关(第1天)
{
违约:
星期日,星期日:
打破
案件星期一星期一:
打破
案件星期二:
打破
星期三,星期三:
打破
星期四,星期四:
打破
案件星期五星期五:
打破
星期六,星期六:
打破
}
xFore.Root.Add(新的XElement(“day”,day1),
新XElement(“第2天”,第2天),
新XElement(“第3天”,第3天),
新XElement(“第4天”,第4天),
新XElement(“第5天”,第5天),
新XElement(“第6天”,第6天),
新XElement(“第7天”,第7天))`
`今天
`

您需要使用模数运算符()来防止超过6:

DayOfWeek day1 = DateTime.Now.DayOfWeek;
DayOfWeek day2 = (DayOfWeek)((byte)(day1 + 1) % 7);
DayOfWeek day3 = (DayOfWeek)((byte)(day2 + 1) % 7);
DayOfWeek day4 = (DayOfWeek)((byte)(day3 + 1) % 7);
DayOfWeek day5 = (DayOfWeek)((byte)(day4 + 1) % 7);
DayOfWeek day6 = (DayOfWeek)((byte)(day5 + 1) % 7);
DayOfWeek day7 = (DayOfWeek)((byte)(day6 + 1) % 7);

// Rest of code omitted

这是我试图解决你的问题。如果我是对的,你只需要实现一个mod操作,这样就没有一个数字超过6了

例如:

DayOfWeek[] Days = new DayOfWeek[7];

DayOfWeek[0] = DateTime.Now.DayOfWeek;
For(Int i=1;i < 7;i++)
  DayOfWeek[i] = (DayOfWeek)(((byte)DayOfWeek[i-1]+1) % 7);

XElement[] XmlDays = new XElement[7];
For(Int i=0;i < 7;i++)
  XmlDays[i] = new XElement("day" + i.ToString(), DayOfWeek[i]);

xFore.Root.Add(XmlDays);
DayOfWeek[]天=新的DayOfWeek[7];
DayOfWeek[0]=DateTime.Now.DayOfWeek;
对于(Int i=1;i<7;i++)
DayOfWeek[i]=(DayOfWeek)((字节)DayOfWeek[i-1]+1)%7);
XElement[]XmlDays=新XElement[7];
对于(Int i=0;i<7;i++)
XmlDays[i]=new-XElement(“day”+i.ToString(),DayOfWeek[i]);
xFore.Root.Add(XmlDays);