加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 本地变量声明问题

发布时间:2020-12-16 00:19:57 所属栏目:百科 来源:网络整理
导读:我收到以下错误: Cannot use local variable ‘dob’ before it is declared 这是我的实施 public class Person { ... public string dob { get; set; } ... public int getAge() { DateTime origin = DateTime.Parse(dob); return DateTime.Today.Year - o
我收到以下错误:

Cannot use local variable ‘dob’ before it is declared

这是我的实施

public class Person
    {
        ...
        public string dob { get; set; }
        ...

       public int getAge()
       {
                DateTime origin = DateTime.Parse(dob);
                return DateTime.Today.Year - origin.Year;
        }

        public string getFormattedDoB()
        {
                DateTime origin = DateTime.Parse(dob);
                string dob = origin.ToString("d");
                return dob;
        }
    }

我不知道该怎么做,因为它抱怨它在getFormattedDoB()中使用dob而不是在它之前的getAge()中.如果有人能够对此有所了解,那就太棒了

解决方法

您已在getFormattedDoB中声明了一个名为dob的局部变量.编译器无法区分它与成员dob之间的区别.尝试添加“this”,表示成员变量而不是本地变量:

DateTime origin = DateTime.Parse(this.dob);

更好的是,不要对局部变量使用相同的名称.

编辑:除非您确实打算设置成员变量而不是创建新变量.在这种情况下,删除安德鲁建议的“字符串”.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读