반응형
C # : 단일 명령문에서 동일한 값을 여러 변수에 지정
C #에서 단일 문에서 한 번에 하나의 값을 여러 변수에 할당하는 방법이 있습니까 (오늘날 여러 변수에 동일한 값을 여러 번 할당했기 때문에 호기심에서 벗어나 있습니까)?
이 라인을 따라 뭔가 (의사 코드) :
int num1 = 1;
int num2 = 1;
num1 & num2 = 5;
아마 그렇지는 않지만 비슷한 것이 실제로 가능한 경우 물어볼 가치가 있다고 생각했습니다!
다음과 같이 간단합니다.
num1 = num2 = 5;
변수 대신 객체 속성을 사용하는 get
경우 중간 값 의 접근자가 호출되지 않는다는 것이 흥미 롭습니다 . set
할당 순서에서 액세스 한 모든 속성에 대해 접근 자만 호출됩니다.
예를 들어 콘솔마다 쓰기가있는 클래스 받아 get
및 set
접근 호출됩니다.
static void Main(string[] args)
{
var accessorSource = new AccessorTest(5);
var accessor1 = new AccessorTest();
var accessor2 = new AccessorTest();
accessor1.Value = accessor2.Value = accessorSource.Value;
Console.ReadLine();
}
public class AccessorTest
{
public AccessorTest(int value = default(int))
{
_Value = value;
}
private int _Value;
public int Value
{
get
{
Console.WriteLine("AccessorTest.Value.get {0}", _Value);
return _Value;
}
set
{
Console.WriteLine("AccessorTest.Value.set {0}", value);
_Value = value;
}
}
}
출력됩니다
AccessorTest.Value.get 5
AccessorTest.Value.set 5
AccessorTest.Value.set 5
컴파일러가 모든 속성에 값을 할당하고 할당 될 때마다 값을 다시 읽지 않음을 의미합니다.
이것은 당신이 원하는 것을 원할 것입니다 :
int num1, num2;
num1 = num2 = 5;
'num2 = 5'할당은 할당 된 값을 반환합니다.
이렇게하면 num1 = (num2 = 5) +3;
읽기가 쉽지 않은 것으로 권장하지는 않지만 num1에 8을 할당하는 것과 같은 미친 일 을 할 수 있습니다.
int num1=5,num2=5
동일한 명령문에서 변수 선언 및 지정
이 시도:
num1 = num2 = 5;
VB에서는 작동하지 않습니다.
num1 = num2 = 5
구문이 조금 더 짧지 만 다른 사람들이 이미 말한 것을 취합니다.
int num1, num2 = num1 = 1;
int num1, num2, num3;
num1 = num2 = num3 = 5;
Console.WriteLine(num1 + "=" + num2 + "=" + num3); // 5=5=5
이 같은.
num1 = num2 = 5
예를 들면 다음과 같습니다.
int num1 = 1;
int num2 = 1;
num1 = num2 = 5;
간단하다.
int num1,num2;
num1 = num2 = 5;
반응형
'IT박스' 카테고리의 다른 글
Java의 HashMap에서 키 가져 오기 (0) | 2020.06.13 |
---|---|
devtools 패키지 설치 문제 (0) | 2020.06.13 |
C # 대소 문자를 구분하지 않는 equals 연산자가 있습니까? (0) | 2020.06.13 |
크기를 확인하거나 범위를 벗어나지 않고 문자열의 처음 n자를 얻으려면 어떻게합니까? (0) | 2020.06.12 |
Sublime Text에서 여러 커서로 다른 모든 줄을 선택하려면 어떻게해야합니까? (0) | 2020.06.12 |