Вы не можете использовать массив для инициализации другого массива. И вы не можете использовать присваивание между массивами.
Единственный способ - сделать явное копирование из одного массива в другой. А для байтовых строк с нулевым символом в конце тогда обычным способом мы проходим через strcpy
:
char str1[100] = "This is a string";
char temp[100];
strcpy(temp, str1);
И чтобы получить правильное объявление strcpy
, вы должны включить
. Этого нельзя избежать (если только вы не хотите написать свою strcpy
-подобную функцию, против которой я настоятельно рекомендую).
Конечно, вы также можете скопировать весь массив, включая все неинициализированное содержимое, используя memcpy
, но это также объявлено в
.
Вот то, как я заставил это работать
, я определил переменную даты и времени, которая представляет самую старую дату
DateTime oldestDate = DateTime.Now.Subtract(new TimeSpan(maxAgeInDays, 0, 0, 0, 0));
...
затем, я изменил, где часть запроса LINQ
where (vid.CreatedDate >= oldestDate )
работала как очарование - благодарен за то, что Micah заставляет меня думать о дереве выражений
Вы сталкиваетесь с подобными сестрами, потому что предикат должен быть переведен в дерево выражений. И процесс перевода не распознает DateTime. Теперь. Вычтите метод.
Дело в том, что изначально LINQ to Entities должен преобразовывать весь запрос в операторы SQL. Вот где он не может распознать метод Subtract. Это произойдет всякий раз, когда вы попытаетесь использовать метод C # / VB внутри запроса. В этих случаях вам нужно найти способ выделить эту часть из запроса. В этом сообщении объясняется немного больше: http://mosesofegypt.net/post/LINQ -to-Entities-what-is-not-supported.aspx