Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WHILE或FOR循环中的日期未递增_C#_Datetime_For Loop_While Loop - Fatal编程技术网

C# WHILE或FOR循环中的日期未递增

C# WHILE或FOR循环中的日期未递增,c#,datetime,for-loop,while-loop,C#,Datetime,For Loop,While Loop,以下代码有什么问题?在我的FOR循环中,日期没有递增,因此它进入了一个无止境的循环,因为该条件从未满足。我还尝试了一个WHILE循环,得到了同样的结果 var startDate = DateTime.Today; var endDate = new DateTime(2016, 12, 31); for (var date = startDate; date <= endDate; date.AddDays(1)) { // Some logic here } var start

以下代码有什么问题?在我的FOR循环中,日期没有递增,因此它进入了一个无止境的循环,因为该条件从未满足。我还尝试了一个WHILE循环,得到了同样的结果

var startDate = DateTime.Today;
var endDate = new DateTime(2016, 12, 31);
for (var date = startDate; date <= endDate; date.AddDays(1))
{
   // Some logic here
}
var startDate=DateTime.Today;
var endDate=新的日期时间(2016年12月31日);

对于(var-date=startDate;date
AddDays
不修改
date
的值,它只返回
DateTime
的新实例,而您没有分配回递增的值

应该是

for (var date = startDate; date <= endDate; date = date.AddDays(1))

for(var-date=startDate;date
AddDays
不会修改
date
的值,它只返回
DateTime
的新实例,而您不会重新分配递增的值

应该是

for (var date = startDate; date <= endDate; date = date.AddDays(1))
for(var-date=startDate;date来自:

返回一个新的日期时间,将指定的天数添加到 此实例的值

因此,
date.AddDays(1)
不会更改
date
的值;它会返回一个新的
DateTime
,表示更改后的值。如果要更改
date
,请执行以下操作:

date=date.AddDays(1);

来自:

返回一个新的日期时间,将指定的天数添加到 此实例的值

因此,
date.AddDays(1)
不会更改
date
的值;它会返回一个新的
DateTime
,表示更改后的值。如果要更改
date
,请执行以下操作:


date=date.AddDays(1);

若要展开此操作,它将使用整数,因为i++自动分配增量。若要展开此操作,它将使用整数,因为i++自动分配增量。