위 필드의 코드가 올바르게 입력되면 응용 프로그램이 올바르게 작동합니다.속성 가져 오기 및 설정 '
private string username;
private string password;
public string Password
{
get { return password; }
set { password = value; }
}
public string Username
{
get { return username; }
set { username = value; }
}
public Authenticate()
{
this.username = "njabulo";
this.password = "12345";
}
하지만이처럼 쓰기 전에 나는 다음과 같은 방식으로 코드를 작성했고 그것은 didnt 한 일, 필드 내가 정확히하지 만드는 것 알고 싶습니다
private string username;
private string password;
public string Password
{
get { return password; }
set { password = "njabulo"; }
}
public string Username
{
get { return username; }
set { username = "12345"; }
}
를 초기화 얻을 didnt는 내가 생각하기 때문에 두 번째 방법으로 작업 할 때, 설정 속성에
value
은 어쩌면 에 던져진 모든 것을 나타내며 실제 값을 부여합니다. 이 초기화됩니다 다음
public string Password {get; set;} = "njabulo";
: 당신이 좋아 다음 초기화 할 수 있습니다 C# 6을 사용하는 경우, 당신은뿐만 아니라
get { return "njabulo"; }
을 할 수있는 리터럴 값에 Set
할 이유가 없습니다
두 번째 방법 : 누군가가 Password = "... something ..."을 호출하면 "set"이 호출되고 암호는 이제 "njabulo"입니다. 그 전에는 암호가 null입니다. –
나는 두 개의 문자열 매개 변수 인 id와 pass를받는 메소드를 가졌습니다. 이제는 메소드에서 전달한 변수를 속성에서 비교해보고 싶었습니다 ... 그것은 작동하지 않았고 username과 password라고 말합니다 있습니다 null – yanguya995
첫 번째 방법을 사용하여 초기화하십시오. 당신은 "세트"에서 그것을 비교할 수 있습니다. –