在foreach语句中设置变量?

时间:2015-10-29 15:17:52

标签: c# razor

我想将foreach语句中的值设置为变量,以便我可以解析该值。我的代码如下:

 @foreach (var visit in visitslist){
 CultureInfo MyCultureInfo = new CultureInfo("en-GB");
 var MyString = (visit.VisitDate);
 DateTime MyDateTime = DateTime.Parse(MyString, MyCultureInfo);

 <input type="text" value="@MyDateTime" />}

我遇到的麻烦是它没有提升visit.VisitDate的价值。我已经尝试从数据库中手动输入一个值并且工作正常,所以我知道这不是数据类型的问题。

2 个答案:

答案 0 :(得分:0)

如果你想在英国时间使用它,你只需先解析它然后用新格式打印就可以改变格式

var str = "Hello, playground"

let matches    = str.startsWith("hello") //true
let no_matches = str.startsWith("playground") //false

答案 1 :(得分:0)

如果var的类型是DateTime,则无需在不同的文化中解析对象。如果您的应用程序特定于en-GB文化,那么您可以将当前线程文化设置为Thread.CurrentThread.CurrentCulture = new CultureInfo("en-GB");。因此,当您在视图中使用<input type="text" value="@MyDateTime" />时,它将自动以en-GB格式显示。