효율적이고 안전한 코드 개선
이들은 메모리 할당 및 관련 참조 형식의 사용을 초래하지 않고, 복제의 유형의 값을 최소화함으로써 성능을 개선하기위한
- 개질제의 인수로 지정된 파라미터는 참조로 전달되지만 메소드를 호출하여 변경되지. 추가 수정에서 source 매개 변수의 변화와 호환 될 수 있습니다.
- REF에 대한 방법은 판독 전용 수정 방법을 지시하는 참조하여 그 값을 반환하는 반환하지만, 객체 기록되지. 값이 반환 값으로 지정되고있는 경우, 심판은 읽기 전용 수정 소스 변경과 호환되는 추가 할 수 있습니다. 기존의 읽기 전용 수정 심판 return 문에 추가하면 호환되지 않는 변화이다. 이 업데이트 심판에 호출자가 읽기 전용 수정을 포함하는 지역 변수를 선언해야합니다.
- 읽기 전용 구조체 문 구조 불변 나타내는 매개 변수로 멤버 메소드에 전달되어야한다. 읽기 전용 개질제 기존 구조 선언 추가 이진 호환성 변경된다.
- 심판 구조체 선언, 관리되는 메모리 구조에 직접 액세스의 유형을 나타내는 항상 스택을 할당해야합니다. 기존 구조체 선언 심판 수정이 호환되지 않는 변화이다 추가합니다. 심판이 구조체는 클래스의 구성원이 될 수 없으며 힙에 할당 가능한 다른 위치에 수 없습니다. 효율적인 보안 코드 작성
명명 된 매개 변수를 비는-후행
당신은 보이지 않는, 정상 사용할 수 있습니다;
디지털의 값 밑줄 선도
INT binaryValue = 0b_0101_0101;
개인 보호 액세스 한정자
개인 보호 : 유도 독립형 클래스를 포함하는 전류 어셈블리의 클래스 또는 유형에 제한 액세스
// Assembly1.cs
// Compile with: /target:library
public class BaseClass
{
private protected int myValue = 0;
}
public class DerivedClass1 : BaseClass
{
void Access() //正确方法
{
myValue = 5; //可以正常访问
}
void Method1()
{
var baseObject = new BaseClass();
// baseObject.myValue = 5; // because myValue can only be accessed by classes derived from BaseClass.
}
}
내부 보호 : 현재 형 급식 어셈블리 또는 파생 된 클래스에 대한 액세스를 제한
조건 표현 심판
ref var r = ref (arr != null ? ref arr[ 0 ] : ref otherArr[ 0 ]);