首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Member.Age获得Member.Birthday?

如何从Member.Age获得Member.Birthday?
EN

Stack Overflow用户
提问于 2022-07-19 05:58:48
回答 2查看 68关注 0票数 0

我有一堂课如下:

代码语言:javascript
复制
    class Member
    {
        public string Name { get; set; }
        public DateTime Birthday { get; set; }
        private int _age;
        public int Age
        {
            get { return _age; }
            private set { _age = DateTime.Now.Year - Birthday.Year; }
        }
    }

在主要的方法中,我分配成员值,我想得到每个成员的年龄,但是每个结果都是零,为什么?如何解决这个问题?谢谢!

代码语言:javascript
复制
    class Program
    {
        static void Main(string[] args)
        {
            List<Member> memberList = new List<Member>(); //using System.Collections.Generic;
            memberList.Add(new Member() { Name = "Andy", Birthday = new DateTime(1971, 7, 26)});
            memberList.Add(new Member() { Name = "Mike", Birthday = new DateTime(1982, 1, 17)});
            memberList.Add(new Member() { Name = "Lucy", Birthday = new DateTime(1993, 9, 28)});
            foreach (var m in memberList)
            {
                Console.WriteLine(m.Age); //m.Age = 0 
            }
        }
    }```
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-07-19 06:17:56

您需要像这样更新类,因为setter没有执行操作,因为您在get上返回变量,这就是为什么得到0:

代码语言:javascript
复制
  public class Member
    {
        public string Name { get; set; }
        public DateTime Birthday { get; set; }
        public int Age
        {
            get { return DateTime.Now.Year - Birthday.Year;  }
            
        }
    }

在改变之后,您可以得到agre,顺便说一句,您可以更准确地计算年龄。

票数 1
EN

Stack Overflow用户

发布于 2022-07-19 06:13:08

请像这样从getter方法中返回年龄。

代码语言:javascript
复制
class Member
{
    public string Name { get; set; }
    public DateTime Birthday { get; set; }
    private int _age;
    public int Age
    {
        get { return DateTime.Now.Year - Birthday.Year; }
        private set { _age = DateTime.Now.Year - Birthday.Year; }
    }
}

可以从setter方法中删除计算。

请看输出-

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73031809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档