Dej*_*jan 8 c# visual-studio-2015
我正在尝试DateTimeOffset在Watch窗口中查看集合中某些对象的值.所以我键入:
collection.Select(v => v.CreatedAt.ToString("O"))
Run Code Online (Sandbox Code Playgroud)
但是,尝试评估此错误会产生错误:
方法的评价System.Linq.SystemCore_EnumerableDebugView`1 [[System.String,mscorlib程序,版本= 4.0.0.0,文化=中性公钥= b77a5c561934e089]].get_Items需要调用方法System.Globalization.GregorianCalendar.get_ID,这不能被称为在这种背景下.
我本来可以指定v.CreatedAt哪些有效,但我也对毫秒感兴趣,所以我正在使用这种O格式.只是调用ToString()产生相同的错误.
所以我想知道错误消息中的"此上下文"是什么,是否有机会扩展此上下文以使其成为可能?
所以我想知道错误消息中的“此上下文”是什么,是否有机会扩展此上下文以使其成为可能?
看来应该指定文化,试试:
System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("en-US");
collection.Select(v => string.Format(culture,"{0:D}",v.CreatedAt));
Run Code Online (Sandbox Code Playgroud)
此外,对于只能在投影内部调用有限数量的函数的IQueryable类型,因此在之前调用:collectionToList()
collection.ToList().Select(v => string.Format(culture, "{0:D}",v.CreatedAt));
Run Code Online (Sandbox Code Playgroud)