C#초보자 - 제10과: 방법
At the end of this lesson, you should be able to answer the following:
- What is a method? What is it used for?
- How do I declare a method? How do I call it?
- What is a method parameter?
- What is a return statement?
마지막 수업에서는 C#이 다른 프로그래밍 언어의 함수나 하위 루틴과 같은 방법을 학습합니다.
우리의 프로그램이 점점 커지고 복잡해지면서 우리는 관련 문장을 한데 묶어 코드를 관리하기 쉬운 블록으로 구성할 수 있다.방법은 하나의 임무를 수행하기 위해 호출될 수 있는 문장이다.
메소드 선언 및 호출
우리 첫 번째 프로그램, Hello World로 돌아갑시다.정보를 인쇄하기보다는 ASCII art border를 추가하여 보다 아름답게 만듭니다.
다음은 a로 중복
+-
20번의 문자열을 만듭니다.그리고 우리는 이 문자열을 경계로 한다.// Creates a border like this: +-+-+-+-+-+-
var border = "";
for (int i = 0; i < 20; i++)
{
border += "+-";
}
// Prints the message with the border
Console.WriteLine(border);
Console.WriteLine("Hello, World!");
Console.WriteLine(border);
프로그램에서 이 메시지를 다른 시간에 표시하기를 원한다면.이 점을 하려면, 우리는 반드시 끊임없이 이 대사들을 중복해야 한다.더 좋은 방법은 우선 그것들을 ShowMessage
라는 방법으로 나누는 것이다.void ShowMessage()
{
// ...steps go here!
}
C#에서 메서드를 선언하기 위해 메서드의 반환 유형을 지정하고 메서드의 이름과 괄호를 따릅니다.괄호에는 방법의 주체가 포함되어 있습니다. 이 방법을 호출할 때 실행하기를 원하는 문장입니다.우리는 본 수업 뒤에 되돌아오는 유형을 설명할 것이다.방법을 설명하면, 메시지를 표시할 때마다
ShowMessage
호출할 수 있습니다.// Displays the message twice
ShowMessage();
ShowMessage();
C#에서 메서드를 호출하거나 호출하려면 메서드 이름 뒤에 괄호를 사용합니다.방법 호출 자체가 효과적인 문장이다.메소드 매개변수 및 매개변수
만약 우리가 다른 소식을 표시하려고 한다면, 우리는 여전히 화려한 테두리를 원한다.우리는 사용할 수 없다
ShowMessage
. 왜냐하면 그것은'안녕하세요, 세계!'라고 말할 수 있기 때문이다.그러나 절차는 기본적으로 같기 때문에 우리는 어떤 방식으로 그것을 다시 사용할 수 있습니까?우리는 반복해서 조금씩 바꾸는 것이 아니라 매개 변수를 추가해서 우리의 방법을 더욱 통용할 수 있다.방법 매개 변수는 변수로 방법에서 그것을 사용하여 행동을 바꿀 수 있다.
방법 성명에서, 우리는 매개 변수를 원괄호 안에 놓을 것이다.우선, 우리는 매개 변수의 유형을 지정한 다음에 매개 변수의 이름을 지정한다.이것은 우리가 변수를 성명하는 방식과 유사하다.
void ShowMessage(string message)
{
// Creates a border like this: +-+-+-+-+-+-
var border = "";
for (int i = 0; i < 20; i++)
{
border += "+-";
}
// Prints the message with the border
Console.WriteLine(border);
Console.WriteLine(message); // The parameter is used here!
Console.WriteLine(border);
}
메서드를 호출할 때 괄호 안에 값을 입력할 수 있습니다(매개변수라고도 함).이 방법에 대해 매개 변수를 정의하면, 이 매개 변수는 이 매개 변수의 값으로 전송됩니다.// Display a different message
ShowMessage("Greetings, human!");
// Display another message
ShowMessage("こんにちは、世界!");
하나의 방법에는 여러 개의 매개 변수가 있을 수 있다.예를 들어 우리는 중복될 패턴을 제공함으로써 경계를 변경할 수 있다.다음은
string
라는 borderPattern
매개 변수를 추가했습니다.void ShowMessage(string message, string borderPattern)
{
// Creates a border
var border = "";
for (int i = 0; i < 20; i++)
{
border += borderPattern; // borderPattern is used here!
}
// Prints the message with the border
Console.WriteLine(border);
Console.WriteLine(message); // message is used here!
Console.WriteLine(border);
}
// Call the ShowMessage method
ShowMessage("Hey, you. You're finally awake.", "->");
우리가 여러 개의 매개 변수 호출 ShowMessage
을 사용할 때, 순서가 매우 중요하다.예를 들어, 만약 우리가 이렇게 한다면, 너는 무슨 일이 일어날지 알아맞힐 수 있니?ShowMessage("->", "Hey, you. You're finally awake.");
매개 변수의 순서는 매개 변수의 순서와 일치해야 합니다!
명명 매개변수
만약 한 방법이 많은 매개 변수를 받아들인다면, 순서를 추적하기 매우 어렵다.다행히도 C#에서는 메서드에서 매개변수를 전달할 때 매개변수의 이름을 지정할 수 있습니다.이전 프로그램의 17번째 줄을 다음 줄로 바꿉니다.
ShowMessage(borderPattern: "->", message: "Hey, you. You're finally awake.");
먼저 경계 모드를 제공했지만 C# 는 이 값을 borderPattern
매개변수에 지정하는 것을 알고 있습니다.message
매개 변수도 마찬가지다.옵션 매개변수
우리는 우리의 방법을 더욱 유연하게 한다.그러나, 우리가
ShowMessage
방법을 호출할 때, 우리는 더 이상 단지 하나의 소식만을 제공할 수 없다. 우리는 경계 모델을 포함해야 한다.만약 우리가 경계 모드를 제공하지 않는다면, 우리는 이 방법을 원시 모드로 묵인하기를 바란다.이를 위해, 매개 변수 성명에서, 우리는 매개 변수에 값을 부여해야 한다.선언의
= "+-"
매개변수 옆에 다음과 같이 borderPattern
를 추가합니다.void ShowMessage(string message, string borderPattern = "+-")
{
// ...
}
// Call the ShowMessage method
ShowMessage("Hey, you. You're finally awake.");
지금 우리는 다시 ShowMessage
로 전화를 걸 수 있습니다. 메시지만 남겨주세요!메서드 반환 유형
임무를 수행하는 것 외에 방법은 임무가 완성된 후에 값을 되돌릴 수 있다.우리의 방법
ShowMessage
은 우리에게 메시지를 표시하지만, 우리가 사용할 수 있는 값을 제대로 되돌려주지 않는다.이것이 바로 그것의 귀환 유형이 void
인 이유다.int Double(int number)
{
return number * 2;
}
위에는 값을 되돌려 주는 예시적인 방법이 있다.너는 이 방법의 작용을 알아맞힐 수 있니?Double
방법은 한 유형int
의 숫자를 받아들이고 곱하기 2의 숫자를 되돌려주는데 실제로는 그것의 두 배이다.반환된 값의 유형은 int
입니다.우리는
return
키워드를 사용하여 이 방법이 되돌아오는 값을 지정합니다.만약 방법 반환 유형이 void
이 아니라면 요구return
문장은 방법의 주체에 나타난다.필요하면
return
문장 앞에 더 많은 문장을 추가할 수 있습니다. 문장은 방법이 완성되고 표현식 number * 2
으로 되돌아오기 전에 실행됩니다.이 방법이 하나의 값을 되돌려주거나 주체의 끝에 도달했을 때, 프로그램은 이 방법을 호출한 문장을 되돌려줍니다.
int Double(int number)
{
Console.WriteLine("Calling the method Double");
return number * 2;
}
Console.WriteLine(Double(50));
Console.WriteLine("And we're back here!");
다음과 같이 값을 반환하는 방법을 표현식에 사용할 수 있습니다.
var expr = Double(10) + Double(2);
Console.WriteLine(expr); // Prints 24
Questions
True or False:
- To declare a method, we specify the return type and method name, followed by square brackets.
- The order of the arguments passed in a method must match the order of the parameters.
- To make a parameter optional, we mark it with the keyword
optional
.- A
void
method cannot be used in expressions.Console.WriteLine()
is a method.
Question
You are a human compiler. Can you find all the errors in this code?
int Add(int x, y)
{
Console.WriteLine("Adding {x} and {y}");
var sum = x + y;
}
Console.WriteLine(Add(75, 25);
Question
What is the difference between a method parameter and a method argument?
Challenges
- Create a
Multiply
method similar to theDouble
method in the lesson. CallingMultiply(10,12)
should return120
.- Convert the code in into a method called
IsAllowedToDrive
. The method should have two parameters,age
andhasLicence
. The return type should bebool
.
Reference
이 문제에 관하여(C#초보자 - 제10과: 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/coding_mama/c-for-beginners-lesson-10-methods-3e01텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)