SlideShare a Scribd company logo
เมท็อ ด

(M
ethod)

C# Programming
เนื้อ หา




ภาพรวมของเมท็อด
การเรียกเมท็อด
การประกาศเมท็อด
โครงสร้า งโปรแกรมภาษา
C#
 โปรแกรมภาษา C# ประกอบด้วยหลาย



เนมสเปซ (namespace)
เนมสเปซหนึ่งประกอบด้วยหลายคลาส
คลาสหนึ่งประกอบด้วยหลายเมท็อด
method1
method2

Class
Namespace
โครงสร้า งโปรแกรม
namespace HelloW {
namespace HelloW {
class HelloWClass {
class HelloWClass {
static void Main () {
static void Main () {
System.Console.WriteLine("Hello World!");
System.Console.WriteLine("Hello World!");
System.Console.ReadLine();
System.Console.ReadLine();
}
}
}
}
}
}



ที่ผ่านมาโปรแกรมเราจะมีเพียงเมท็อด
เดียวเท่านั้นคือ Main
ประโยชน์ข องการใช้เ มท็
อด






ช่วยมองงานทีซับซ้อนเป็นงานย่อย ๆ
่
ทีเล็กลง
่
ช่วยลดการเขียนโค้ดทีซำ้าซ้อน
่
ช่วยซ่อนรายละเอียดของโปรแกรมไว้
ทีส่วนอืน
่
่
ทำาให้โปรแกรมดูมระเบียบและง่ายต่อ
ี
การเข้าใจ
เพิมความสะดวกในการนำาโค้ดที่เขียน
่
ไว้แล้วไปใช้ในโปรแกรมอื่น ๆ
ภาพรวมของเมท็อ ด


โปรแกรมหนึงสามารถประกอบด้วย
่
เมท็อดมากกว่{าหนึง
่
namespace HelloW {
namespace HelloW
class HelloWClass {
class HelloWClass {
static void Main () {
static void Main () {
:
:
}
}

static void Method1() {
static void Method1() {
:
:
}
}

}
}

}
}

static int Method2(int x, double y) {
static int Method2(int x, double y) {
:
:
}
}
ประเภทของเมท็อ ด
ประเภทของเมท็อ ด

เมท็อดที่มีอยู่แล้ว

ส่ง คืน ค่า

ไม่ค น ค่า
ื

เมท็อดที่สร้างขึ้นมาเอง

ส่ง คืน ค่า

ไม่ค น ค่า
ื
ฟัง ก์ช ัน และโปรแกรมย่อ ย



ฟังก์ชน (Function) – เมท็อดทีมีการ
ั
่
ส่งคืนค่า
โปรแกรมย่อย (Subroutine หรือ
Procedure) – เมท็อดทีไม่มีการส่งคืน
่
ค่า
การเรีย กเมท็อ ด


การเรียกเมท็อดซึ่งไม่มการส่งคืนค่า
ี
Console.WriteLine("Hello, World!");
Console.WriteLine("Hello, World!");
Console.Write("Enter N:");
Console.Write("Enter N:");



การเรียกเมท็อดซึ่งมีการส่งคืนค่า
string
string
double
double
double
double

s
s
d
d
p
p

=
=
=
=
=
=

Console.ReadLine();
Console.ReadLine();
double.Parse(Console.ReadLine());
double.Parse(Console.ReadLine());
Math.Pow(3, 5);
Math.Pow(3, 5);
การประกาศเมท็อ ด


ไวยากรณ์

static <return-type> <method-name>(<parameter list>)
static <return-type> <method-name>(<parameter list>)
{
{
<statement-1>;
<statement-1>;
<statement-2>;
<statement-2>;
:
:
}
}



<return-type>






สามารถเป็น

ประเภทข้อมูล C# : int, double, string, ...
ต้อ งมีค
ประเภทข้อมูลซึ่งกำาหนดโดยผู้ใช้: struct/classำา สั่ง return
name, ...
ไม่มการส่งคืนค่า: void
ี

<parameter-list>
 ประกอบด้วย <parameter-type> และ
<parameter-name> เช่น int x, string s


หรือ อาจจะเว้นว่างไว้ หากไม่มี
ตัว อย่า งการประกาศเมท็
อด อด Show10Stars แสดงอักขระ '* ' 10 ตัวบน
 เมท็
หน้าจอvoid Show10Stars() {{
static void Show10Stars()
static
}
}





เมท็อด void ShowStars(int n) กขระ '* ' ตาม
Show10Stars แสดงอั
static void ShowStars(int n) {
static
{
จำ} นวนที่ได้กำาหนด
}า
static double ComputeArea(double w, double h) {
static double ComputeArea(double w, double h) {
}
ComputeArea
}

เมท็อด
สามเหลี่ยม

คำานวนขนาดพื้นที่ของรูป
คำา สั่ง return



ต้องใช้สำาหรับเมท็อดที่ต้องการส่งค่าคือ
ไวยากรณ์:
return <expression>;
return <expression>;



<expression> ต้องสอดคล้องกับประเภท

ข้อมูลที่ส่งคืนซึ่งได้ประกาศไว้ เช่น

static double Average(double x, double y) {
static double Average(double x, double y) {
}
}

return (x+y)/2.0;
return (x+y)/2.0;

ค่า ทีส ่ง
่
คืน

…ต้อ ง
สอดคล้อ งกับ
return type ที่
กำา หนด
พารามิเ ตอร์ข องเมท็อ ด



เมท็อดสามารถประกาศให้รับได้ทั้งหนึ่ง หรือ
หลายพารามิเตอร์
เมื่อเรียกเมท็อด
จำานวนนิพจน์ต้องเท่ากับจำานวนพารามิเตอร์ที่
กำาหนด
class MethodEx {{
class MethodEx
 static void Main() { องสอดคล้องกัน
ประเภทข้อมูล {
static void Main() ต้


}}

int xx == Method1();
int
Method1();
Method2(x, "Hello", 3.5);
Method2(x, "Hello", 3.5);

static int Method1() {{
static int Method1()
::
}}

}}

static void Method2(int a, string x, double b) {{
static void Method2(int a, string x, double b)
::
}}
แบบฝึก หัด











พิจารณาโค้ด
หากทำาการเรียกเมท็อด
ใน
Main() การเรียกเมท็อด
ใดถูกต้อง?
1.
2.
3.
4.
5.
6.
7.

class Quiz {
class Quiz {
static void Main() {
static void Main() {
int x, y; string s, t;
int x, y; string s, t;
:
:
:
:
}
}
static int Hello()
static int Hello()
{
{
:
:
}
}

x = Hello();
Hello("everyone");
Hello();
Hi(s, y);
y = Hi(3, t);
Hi(x, "there");
Hi(x, x);

static void Hi(int a, string b)
static void Hi(int a, string b)
{
{
:
:
}
}

}
}

static void Hi(int a, int b)
static void Hi(int a, int b)
{
{
:
:
}
}
ตัว อย่า งเมท็อ ด #1


เขียนเมท็อด RectArea



รับพารามิเตอร์: int w, int h
คำานวนและส่งคืนค่าพื้นที่ของสีเหลี่ยม
่
ผืนผ้าที่มีความกว้างเท่ากับ w และความ
สูงเท่ากับ h

static int RectArea(int w, int h) {
static int RectArea(int w, int h) {
int area;
int area;
area = w * h;
area = w * h;
return area;
return area;
}
}
ตัว อย่า งเมท็อ ด #2


เขียนเมท็อด PrintRect

รับพารามิเตอร์: int w, int h
 พิมพ์รูปสีเหลี่ยมผืนผ้าขนาดความกว้าง
่
w และความสูง h ด้วยอักขระ '* ' บนหน้า
จอ void PrintRect(int w, int h) {
static


static void PrintRect(int w, int h) {
int i, j;
int i, j;
for (i = 0; i < h; i++) {
for (i = 0; i < h; i++) {
for (j = 0; j < w; j++) {
for (j = 0; j < w; j++) {
Console.Write('*');
Console.Write('*');
}
}
Console.WriteLine();
Console.WriteLine();
}
}
}
}
ลับ สมอง


เขียนเมท็อด DrawLine




รับพารามิเตอร์หนึงตัว: int len
่
ไม่มการส่งคืนค่าใด ๆ
ี
วาดเส้นตรงด้วย len '* '

using System;
using System;
class Quiz {{
class Quiz
static void Main() {{
static void Main()
DrawLine(10);
DrawLine(10);
}}

ใส่เ มท็อ ด DrawLine ตรงนี้...
}}



โปรแกรมข้างต้นต้องแสดงผลลัพธ์เป็น
**********
**********

More Related Content

PDF
Java Programming: อะเรย์และคอลเล็กชั่น
PPT
Java Programming [8/12] : Arrays and Collection
PDF
Java-Answer Chapter 05-06
PDF
Java Programming: การจัดการกับข้อผิดพลาด
PDF
Java-Answer Chapter 01-04
PDF
Java Programming: โครงสร้างควบคุม
PDF
Java Programming: คลาสอินพุตและเอาต์พุต
Java Programming: อะเรย์และคอลเล็กชั่น
Java Programming [8/12] : Arrays and Collection
Java-Answer Chapter 05-06
Java Programming: การจัดการกับข้อผิดพลาด
Java-Answer Chapter 01-04
Java Programming: โครงสร้างควบคุม
Java Programming: คลาสอินพุตและเอาต์พุต

What's hot (19)

PDF
Java-Answer Chapter 12-13
PDF
Java-Answer Chapter 10-11
PDF
Java-Answer Chapter 08-09
PDF
Java-Answer Chapter 01-04 (For Print)
PDF
Java-Answer Chapter 12-13 (For Print)
DOCX
นางสาว จรัญญา-กฤตย์ณัชช์-59170236-กลุ่ม-1
PDF
Java-Answer Chapter 05-06 (For Print)
PPT
Java Programming [12/12] : Thread
PDF
Java-Chapter 08 Methods
PDF
Java-Answer Chapter 10-11 (For Print)
PDF
Java-Answer Chapter 07 (For Print)
PPT
Java Programming [9/12]: Exception Handling
PDF
Java-Answer Chapter 07
PDF
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
PDF
Java-Answer Chapter 08-09 (For Print)
PDF
Java-Chapter 13 Advanced Classes and Objects
PDF
Java-Chapter 01 Introduction to Java Programming
PDF
Java Programming: หลักการเชิงอ็อบเจกต์
Java-Answer Chapter 12-13
Java-Answer Chapter 10-11
Java-Answer Chapter 08-09
Java-Answer Chapter 01-04 (For Print)
Java-Answer Chapter 12-13 (For Print)
นางสาว จรัญญา-กฤตย์ณัชช์-59170236-กลุ่ม-1
Java-Answer Chapter 05-06 (For Print)
Java Programming [12/12] : Thread
Java-Chapter 08 Methods
Java-Answer Chapter 10-11 (For Print)
Java-Answer Chapter 07 (For Print)
Java Programming [9/12]: Exception Handling
Java-Answer Chapter 07
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Java-Answer Chapter 08-09 (For Print)
Java-Chapter 13 Advanced Classes and Objects
Java-Chapter 01 Introduction to Java Programming
Java Programming: หลักการเชิงอ็อบเจกต์
Ad

Viewers also liked (20)

PDF
Java week2
PPT
04 conditional
PPT
10 win apps
PPT
05 loops
PPT
06 for loops
PPT
09 multi arrays
PDF
หน่วยการเรียนที่ 3 เรียนรู้ไวยากรณ์ ตัวแปร ค่าคงที่ comment
PDF
บทที่ 3 ฐานข้อมูลเชิงสัมพันธ์
PPT
08 arrays
PPTX
ภาษา C# เบื้องต้น
PPTX
หน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 express
PDF
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
PDF
ภาษา C#
PPTX
คำสั่งควบคุม
PDF
การประมวลผลข้อมูล
PDF
ความรู้เบื้องต้นเกี่ยวกับ Internet
PDF
คำสั่งในการวนรอบการทำงาน Vb2010 (1)
PDF
บทที่ 5 การแปลง er diagram ให้เป็น table
Java week2
04 conditional
10 win apps
05 loops
06 for loops
09 multi arrays
หน่วยการเรียนที่ 3 เรียนรู้ไวยากรณ์ ตัวแปร ค่าคงที่ comment
บทที่ 3 ฐานข้อมูลเชิงสัมพันธ์
08 arrays
ภาษา C# เบื้องต้น
หน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 express
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
ภาษา C#
คำสั่งควบคุม
การประมวลผลข้อมูล
ความรู้เบื้องต้นเกี่ยวกับ Internet
คำสั่งในการวนรอบการทำงาน Vb2010 (1)
บทที่ 5 การแปลง er diagram ให้เป็น table
Ad

Similar to 07 methods (20)

PDF
Power point
PPTX
เมธอด
DOC
Chapter3
PPTX
นำเสนอMethods
PPTX
นำเสนอMethods
PDF
งานนำเสนอ1
PPTX
บทที่ 8 Methods
PPTX
METHODS
PPT
Method JAVA
PPTX
c# part1.pptx
PPTX
PDF
DOC
คำถามท้ายบท
PPTX
เมธอด Method
PPTX
Computer Programming 4
Power point
เมธอด
Chapter3
นำเสนอMethods
นำเสนอMethods
งานนำเสนอ1
บทที่ 8 Methods
METHODS
Method JAVA
c# part1.pptx
คำถามท้ายบท
เมธอด Method
Computer Programming 4

07 methods