时间:2010-07-23 12:23:50

标签: .net xml linq

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

internal class DateTimeParse
{
  public DateTimeParse(string str)
  {
     DateTime dt = DateTime.MinValue;
     Correct = DateTime.TryParse(str, out dt);
     if (Correct) Value = dt;
  }

  public DateTime Value { get; private set; }
  public bool Correct { get; private set; }
}

var hist = from x in aNodes
    let dt = new DateTimeParse(x.InnerHtml)
    where dt.Correct
    select dt.Value;

答案 2 :(得分:0)

这里的问题是DateTime.Tryparse几乎所有TryParse都返回一个布尔值。 这里的OUT参数是DateTime(不可为空)。

就像:

bool myBool = Datetime.TryParse(myString, out myDateTimeNotNullable);

您也可以在验证中嵌套使用它:

    if(Datetime.TryParse(myString, out myDateTimeNotNullable))
    {
      //myDateTimeNotNullable has the valid DateTime from myString
    }
    else
    {
      //myDateTimeNotNullable has the value set to new DateTime()
    }

这就是我要写的:

DateTime OrderDate;
DateTime.TryParse(((XmlNode)order.Element("OrderDate")).InnerText, out OrderDate);

我希望它对某人有所帮助,因为它是一个老帖子。