머리말:
C#의 메서드는 C# 프로그래밍에서 자주 사용되므로 메서드란 무엇입니까? .방법을 사용하는 방법? 여기에 요약하고 모두가 내 단점을 지적해 주길 바랍니다.
1 메소드란 무엇인가요?
메소드는 여러 코드를 재사용하는 C#의 메커니즘입니다. 메소드는 코드 조각입니다. 이 코드는 입력 값을 가질 수 있으며 값을 반환할 수도 있습니다. 예전에 미 선생님께서 방법(함수)에 대해 비유하신 적이 있습니다. 방법은 냄비와 같고 쌀과 물은 매개변수와 같습니다. 쌀과 물을 냄비에 넣으면 요리를 할 수 있습니다. 이 메서드를 사용하려면 몇 가지 매개변수를 제공해야 하며, 그런 다음 몇 가지 반환 값을 제공할 수 있습니다.
.net 프레임워크에는 MessageBox 클래스의 Show 메서드, Console 클래스의 WriteLine 메서드와 ReadLine 메서드, Int32의 Parse 메서드, Random의 Next 메서드 등 수많은 메서드가 있습니다. 수업. .netframework의 클래스 라이브러리에 정의된 메서드를 능숙하게 사용하면 프로그램 작성 속도가 점점 더 빨라집니다.
2 메소드 정의 방법
메소드는 클래스나 구조체에서 선언하는데, 선언할 때 접근 수준, 반환 값, 메소드를 지정해야 합니다. 이름 및 메소드 매개변수. 메소드 매개변수는 괄호 안에 배치되고 쉼표로 구분됩니다. 빈 괄호는 메서드에 매개변수가 필요하지 않음을 나타냅니다.
예:
예 1:
public static void SayHello()
{
System.Console.WriteLine("Hello,World!");
}
로그인 후 복사
예 2:
public static int Add(int x,int y)
{
int z=x+y;
return z;
}
로그인 후 복사
이상 두 가지 일반적인 메서드 정의가 정의되어 있습니다. 예제 1은 매개변수를 사용하지 않는 반면, 예제 2는 2개의 매개변수를 사용하여 메서드에 매개변수를 전달하려면 메서드를 호출할 때 괄호 안에 입력하면 됩니다. 호출된 메서드의 경우 전달된 변수를 "매개변수"라고 합니다.
메서드에서 수신한 매개변수도 괄호 세트로 제공되지만 각 매개변수의 유형과 이름을 지정해야 합니다. 이름은 매개변수와 동일할 필요는 없습니다.
3가지 메소드 호출
메소드 호출 시 매개변수와 메소드에만 주의하면 됩니다. 메소드 값 질문의 반환. 예를 들어, 예제 1에 정의된 SayHello() 메서드를 호출합니다. 다른 메소드 안에 직접 SayHello() 코드문을 입력하면 됩니다. 예를 들어, 예제 2에 정의된 Add() 메서드를 호출합니다. 다른 메소드 안에 직접 코드문을 입력하세요.
inta = 1, b = 2,c;
c = Add(a,b);
로그인 후 복사
4
메소드의 반환 값은 모든 유형의 값을 반환할 수 있습니다. , 값을 반환하지 않는 것도 가능합니다. 반환 값 유형은 메서드 헤더에 반영됩니다.
예: 메소드 정의 형식: public int Method1(int x,int y)
이 시점에서 반환 값을 볼 수 있습니다. Method1 메소드의 유형은 int입니다.
메서드의 반환 값은 return 문을 통해 전달되는 경우가 많습니다. return 문은 해당 메서드의 실행을 종료하고 해당 메서드를 호출한 코드에 제어를 반환합니다. 메소드가 void 유형이면 return 문을 생략할 수 있습니다. 다음 코드를 관찰할 수 있습니다:
publicstatic string GetStr()
{
string str=string.Empty;
return str;
str =System.Console.Read().ToString();
}
로그인 후 복사
5. 메소드 오버로딩
메서드 오버로딩은 클래스가 다양한 유형의 데이터를 통일된 방식으로 처리하는 수단입니다. C#에서는 동일한 클래스에 있는 두 개 이상의 메서드가 동일한 이름을 사용할 수 있다고 규정합니다. 이 경우 해당 메서드를 오버로드된 메서드라고 합니다. 오버로드된 메서드가 호출되면 C#에서는 자동으로 특정 메서드를 호출하여 실행합니다.
메소드 오버로딩이 무엇인가요? 객체지향과 같은 고급 언어에서는 메서드 이름이 동일하고 메서드 간 매개변수의 개수와 순서가 다른 여러 메서드를 클래스에 정의할 수 있습니다. 목록이 다르면 이를 매개변수 목록이라고 부릅니다. 여기서는 메서드의 반환 값이 언급되지 않았다는 점에 유의해야 합니다. 즉, 다음 조건에 따라 메소드가 오버로드를 구성하는지 여부가 결정됩니다.
◆ 동일한 클래스에서
◆ 메소드 이름이 동일합니다.
◆ 매개변수 목록이 다릅니다.
메소드의 오버로딩에서 명시적 우선순위 일치 호출 메소드는 주어진 매개변수의 개수가 동일한 메소드입니다.
ref 및 out은 오버로딩의 기초로 사용할 수 없습니다. 둘 다 선택하지 말고 하나만 선택하세요.
을 동시에 사용하세요. 매개변수가 ref 또는 out에 의해 수정되는 경우 매개변수는 변수여야 합니다.
메서드의 반환 값은 오버로딩 조건을 구성하지 않습니다.
매개변수 개수가 다른 메서드도 오버로드가 될 수 있습니다. 메서드의 매개변수 개수가 같고 매개변수 유형이 다른 경우에도 오버로드가 발생할 수 있습니다.
배열 유형을 메소드 매개변수로 사용: 키워드 params는 한 번만 나타날 수 있으며 매개변수에 마지막으로 나타나는 키워드입니다.
위 내용은 C#의 메소드에 대한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!