C 언어
이 기사에서는 예제를 통해 C#에서 이 키워드에 대해 알아볼 것입니다.
C#의 경우 this
키워드는 클래스의 현재 인스턴스를 나타냅니다. 예를 들어,
using System;
namespace ThisKeyword {
class Test {
int num;
Test(int num) {
// this.num refers to the instance field
this.num = num;
Console.WriteLine("object of this: " + this);
}
static void Main(string[] args) {
Test t1 = new Test(4);
Console.WriteLine("object of t1: " + t1);
Console.ReadLine();
}
}
}
출력
object of this: ThisKeyword.Test object of t1: ThisKeyword.Test
위의 예에서 t1이라는 객체를 생성했습니다. 테스트 클래스 . t1 개체의 이름을 인쇄했습니다. 및 this
클래스의 키워드입니다.
여기에서 두 t1의 이름을 볼 수 있습니다. 및 this
는 똑같은. this
때문입니다. 키워드는 t1인 클래스의 현재 인스턴스를 나타냅니다. .
다음은 this
의 주요 용도입니다. C#의 키워드.
범위(클래스 또는 메서드) 내에서 동일한 이름을 가진 두 개 이상의 변수를 선언할 수 없습니다. 그러나 인스턴스 변수와 매개변수는 같은 이름을 가질 수 있습니다. 예를 들어,
using System;
namespace ThisKeyword {
class Test {
int num;
Test(int num) {
num = num;
}
static void Main(string[] args) {
Test t1 = new Test(4);
Console.WriteLine("value of num: " + t1.num);
Console.ReadLine();
}
}
}
출력
0
위 프로그램에서 인스턴스 변수와 매개변수는 같은 이름을 가집니다. num . 4를 통과했습니다. 생성자에 대한 값으로.
그러나 0 출력으로. 인스턴스 변수와 매개변수의 이름이 같아 C#이 헷갈리기 때문입니다.
this
를 사용하여 이 문제를 해결할 수 있습니다. .
using System;
namespace ThisKeyword {
class Test {
int num;
Test(int num) {
// this.num refers to the instance field
this.num = num;
}
static void Main(string[] args) {
Test t1 = new Test(4);
Console.WriteLine("value of num: " +t1.num);
Console.ReadLine();
}
}
}
출력
value of num: 4
이제 4의 예상 출력을 얻습니다. . this.num
때문입니다. 클래스의 인스턴스 변수를 나타냅니다.
따라서 인스턴스 변수의 이름과 매개변수의 이름이 혼동되지 않습니다.
<시간>
생성자 오버로딩으로 작업하는 동안 다른 생성자에서 하나의 생성자를 호출해야 할 수도 있습니다. 이 경우 this
을 사용할 수 있습니다. 예어. 예를 들어,
using System;
namespace ThisKeyword {
class Test {
Test(int num1, int num2) {
Console.WriteLine("Constructor with two parameter");
}
// invokes the constructor with 2 parameters
Test(int num) : this(33, 22) {
Console.WriteLine("Constructor with one parameter");
}
public static void Main(String[] args) {
Test t1 = new Test(11);
Console.ReadLine();
}
}
}
출력
Constructor with two parameter Constructor with one parameter
위의 예에서는 :
를 사용했습니다. 뒤에 this
생성자 Test(int num1, num2)
을 호출하는 키워드 생성자 Test(int num)
에서 .
Test(int num)
을 호출할 때 Test(int num1, int num2)
생성자 생성자가 먼저 실행됩니다.
참고 :다른 생성자에서 하나의 생성자를 호출하는 것을 생성자 연쇄라고 합니다.
<시간>
this
를 사용할 수 있습니다. 현재 개체를 메서드에 대한 인수로 전달하는 키워드입니다. 예를 들어,
using System;
namespace ThisKeyword {
class Test {
int num1;
int num2;
Test() {
num1 = 22;
num2 = 33;
}
// method that accepts this as argument
void passParameter(Test t1) {
Console.WriteLine("num1: " + num1);
Console.WriteLine("num2: " + num2);
}
void display() {
// passing this as a parameter
passParameter(this);
}
public static void Main(String[] args) {
Test t1 = new Test();
t1.display();
Console.ReadLine();
}
}
}
출력
num1: 22 num2: 33
위의 프로그램에는 passParameter() 메소드가 있습니다. . 클래스의 객체를 인수로 받아들입니다.
passParameter(this);
여기에서 this
를 전달했습니다. passParameter() 방법. this
로 클래스의 인스턴스를 참조하면 num1 값에 액세스할 수 있습니다. 및 num2 .
인덱서를 사용하면 클래스의 개체를 배열처럼 인덱싱할 수 있습니다. 이 키워드를 사용하여 C#에서 인덱서를 선언합니다. 예를 들어,
using System;
namespace ThisKeyword {
class Student {
private string[] name = new string[3];
// declaring an indexer
public string this[int index] {
// returns value of array element
get {
return name[index];
}
// sets value of array element
set {
name[index] = value;
}
}
}
class Program {
public static void Main() {
Student s1 = new Student();
s1[0] = "Ram";
s1[1] = "Shyam";
s1[2] = "Gopal";
for (int i = 0; i < 3; i++) {
Console.WriteLine(s1[i] + " ");
}
}
}
}
출력
Ram Shyam Gopal
위의 프로그램에서 this
를 사용하여 인덱서를 만들었습니다. 키워드.
배열 이름[] 비공개입니다. 따라서 프로그램에서 액세스할 수 없습니다. 수업.
이제 배열의 값에 액세스하고 설정하기 위해 인덱서를 사용합니다.
Student s1 = new Student();
s1[0] = "Ram";
s1[1] = "Shyam";
s1[2] = "Gopal";
this
을 사용했기 때문에 인덱서를 만들려면 Student 개체를 사용해야 합니다. 인덱서에 액세스하는 클래스입니다. 인덱서에 대해 자세히 알아보려면 C# 인덱서를 방문하세요.
C 언어
효율, 전압 조정 및 가열 효과에 대한 변압기에 대한 섬프너 테스트 또는 백투백 테스트 개방 테스트 및 단락 테스트는 등가 회로 매개변수를 결정하기 위해 수행됩니다. 이러한 테스트의 도움으로 변압기의 온도 상승을 찾을 수 없습니다. 개방 시험은 철손만 검사하고 단락 시험은 동손만 검사하기 때문입니다. 그러나 변압기는 두 손실을 동시에 받지 않습니다. 따라서 대안은 Sumpner의 테스트입니다. 이 문제에 대한 해결책은 Sumpner의 테스트입니다. Sumpner의 테스트는 부하 조건에서 변압기 효율, 전압 조정 및 변압기의 가열 효
megohmmeter 또는 megger는 더 일반적으로 알려져 있으며 300볼트에서 15,000볼트 사이의 DC(직류) 전압을 생성하여 극도로 높은 저항을 테스트하도록 설계된 전기 테스트 장비입니다. 저항계는 전기 모터 권선 또는 케이블 절연 테스트에서 일반적으로 발생하는 테스트 저항을 허용하는 고전압, 저전류 DC 전하를 생성합니다. 저항계는 배터리로 작동되는 내부 회로 또는 수동으로 작동되는 발전기를 통해 이 고전압을 생성합니다. 일반 저항계로 전기 장비, 기계 또는 설비의 권선, 접지 또는 절연 저항을 테스트하는 것은 이러