C# 计算POCO计算属性中的年数

C# 计算POCO计算属性中的年数,c#,datetime,poco,asp.net-mvc-5,date-arithmetic,C#,Datetime,Poco,Asp.net Mvc 5,Date Arithmetic,我想我已经很接近了。我有一个值StartedAgent,它将包含用户输入的特定日期。假设他们输入了“1/1/1985”,然后我想创建一个计算过的属性,我可以用它来显示这个代理从开始从事房地产工作到现在已经有多少年了。下面是我的班级。我曾试过尝试一下,但我没有成功。我在C#风格中使用MVC5、EF6和.NET4.5 我已经看了一些不同的答案,但是我很难找到一种在计算属性中实现这个简单的方法。我知道应该不会有太大的不同,但我的代码会出错。这应该会有所帮助。的修改版本 这是一个相当简单的方法。如果属性

我想我已经很接近了。我有一个值
StartedAgent
,它将包含用户输入的特定日期。假设他们输入了“1/1/1985”,然后我想创建一个计算过的属性,我可以用它来显示这个代理从开始从事房地产工作到现在已经有多少年了。下面是我的班级。我曾试过尝试一下,但我没有成功。我在C#风格中使用MVC5、EF6和.NET4.5


我已经看了一些不同的答案,但是我很难找到一种在计算属性中实现这个简单的方法。我知道应该不会有太大的不同,但我的代码会出错。

这应该会有所帮助。的修改版本


这是一个相当简单的方法。如果属性是字符串,请确保调用
ToString()

public string YearsAsAgent
{
    get { return (DateTime.Now.Year - StartedRealEstate.Year).ToString(); }
}

我得到的错误是不够的。什么错误?只是想让你知道,我没有否决你的问题。错误:
无法将类型double隐式转换为字符串。
感谢删除否决票的人。下一次我将确保我在问题中有任何当前错误!你能不能把它简化成
DateTime.Now.Year-StartedRealEstate.Year
?我可以让它工作,但我使用的是MVC,所以不需要点击任何按钮。抱歉,如果我的术语令人困惑,我是新来的c#按钮单击只是关于如何使用它的示例代码。你可以在任何你想要的地方直接使用这家酒店。是的,这就是我要找的罗文。我可以在计算属性中使用一些简单的东西。但不管我怎么写,我都会犯一些错误。@EricB你为什么不能随便用YearsaAgent呢!我羞愧地低下头。我感谢你的帮助罗文,这不是你第一次帮助我!我欠你几杯啤酒!我到处寻找其他例子,他们都在使用math.floor,但这更简单。
DateTime _startedRealEstate = new DateTime(2012, 11, 15);
public DateTime StartedRealEstate { get { return _startedRealEstate; } set { _startedRealEstate = value; } }

public int YearsAsAgent
{
  get
  {
      DateTime zeroTime = new DateTime(1, 1, 1);
      TimeSpan span = DateTime.Now - StartedRealEstate;
      int years = (zeroTime + span).Year - 1;
      return years;
  }
 }


 private void button1_Click_2(object sender, EventArgs e)
 {
      int totalYears = YearsAsAgent;
 }
public string YearsAsAgent
{
    get { return (DateTime.Now.Year - StartedRealEstate.Year).ToString(); }
}