C#中,字段和方法参数名称和类型一样,这样写不冲突吗?

用户bPbsYE
  • 232

C#中,字段和方法参数名称和类型一样,这样写不冲突吗?

private string username;

public void setUsername(string username)

这2处的username系统是怎样区分出来的?

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            User user = new User();
            user.setUsername("jack");
            Console.WriteLine(user.getUsername());
        }
    }

    class User
    {
        private string username;

        public string getUsername()
        {
            return username;
        }
        public void setUsername(string username)
        {
            this.username = username;
        }
    }
}

我试过,能正常运行,输出结果

jack

回复
阅读 3.1k
1 个回答
✓ 已被采纳

这明显是用java风格在写C#的代码。
C#请用下面的代码:

public class User
{
    public string UserName { get; set; }
}

至于你提到的问题,在setUsername方法中,不是有this.username吗?this前缀的作用就是指定username使用字段。

你知道吗?

宣传栏