一个方法是把一些相关的语句组织在一起,用来执行一个任务的语句块。每一个 C# 程序至少有一个带有 Main 方法的类。
要使用一个方法需要:
定义方法
调用方法
class MainClass
{
//----------------方法-------------------//
//方法:就是功能,一个特殊的代码段
//方法定义格式:
//方法不能嵌套定义,不能在方法内部再去定义方法,但方法可以嵌套调用
/*返回值类型 方法名称(参数列表)
* {
* 方法体(多行代码)
* }
* 返回值类型:方法返回数据的数据类
* 参数列表:我们需要传个方法的参数
*
* 根据参数和返回值的有无,将方法分为四类
* 无参数无返回值方法
* 有参数无返回值方法
* 无参数有返回值方法
* 有参数有返回值方法
* */
//无参数 无返回值方法
static void PrintNumber()
{
//输出1-100
for (int i = 1; i <= 100; i++)
Console.Write (i+"\t");
}
//有参数无返回值方法
//n:形式参数---形参
static void PrintNumber1(int n)
{
//n 代表传进来的值
for (int i = 1; i <= n; i++)
Console.Write (i + "\t");
}
//多方法有多个参数时,多个参数之间用逗号隔开
//每个参数必须有数据类型
static void PrintNumber2(int start,int end)
{
for (int i = start; i <= end; i++)
Console.Write (i + "\t");
}
static void shuzu(int [] arr)
{
int temp;
int min=0;
for (int i = 0; i < arr.Length-1; i++)
{
min = i;
for (int j = i; j < arr.Length; j++)
{
if (arr [min] > arr [j])
min = j;
}
temp = arr [i];
arr [i] = arr [min];
arr [min] = temp;
}
for (int i = 0; i < arr.Length; i++)
Console.Write (arr [i] + "\t");
}
//无参数有返回值方法
//由用户输出5个正整数,返回5个中的最大者
static int GetmaxNumber()
{
int max = -1;
for(int i=1;i<=5;i++)
{
Console.Write("请输入第{0}个数:",i);
int num = int.Parse(Console.ReadLine());
if (num > max)
max = num;
}
//将return后面表达式的结果,返回个方法的调用者
//结束方法
return max;
}
//有参数有返回值
//由用户输入指定个数的正整数,返回这些正整数中的最大者
static int GetmaxNumber1(int count)
{
int max = -1;
for(int i=1;i<=count;i++)
{
Console.Write("请输入第{0}个数:",i);
int num = int.Parse(Console.ReadLine());
if (num > max)
max = num;
}
return max;
}
//方法间的嵌套调用
static int GetmaxNumber3()
{
int max = GetmaxNumber1 (5);
return max;
}
public static void Main (string[] args)
{
//无参数无返回值的调用
//调用格式:方法名称();
//PrintNumber();
//有参数无返回值的调用
//调用格式:方法名称(实际参数--实参)
//实参数据类型必须和形参类型保持一致
//PrintNumber1(10);
//PrintNumber2 (16,27);
//定义一个方法
//int[] a={6,5,4,3,2,1};
//shuzu(a);
//无参数有返回值方法的调用
//调用格式:变量名 = 方法名称();
//int max = GetmaxNumber3();
//Console.WriteLine ("the max value is " + max);
//返回值可以不接受,相当于丢失返回值
//有参数有返回值的调用
//调用格式:变量名 = 方法名称(实际参数--实参)
//int max=GetmaxNumber1(5);
//Console.WriteLine ("the max value is " + max);
//--------------------------------------结构体-------------------------------------------//
public struct Person
{
public string name;
public string sex;
public int age;
public float height;
}
//定义结构体变量
//结构体类型 结构体类型变量名称;
//使用默认初始化方法初始化所以成员
Person p = new Person();
//访问结构体变量成员
//格式:变量名称.成员名称;
Console.WriteLine(p.age);
Console.WriteLine (p.name);
p.name = "五更琉璃";
p.age = 14;
p.sex = "女";
p.height = 1.45f;
Console.WriteLine ("name={0},sex={1},age={2},height={3}", p.name, p.sex, p.age, p.height);
Console.WriteLine ();
teacher a = new teacher ();
a.subject = "英语";
a.sex = "男";
a.position = "年级主任";
Console.WriteLine ("subject={0}\nsex1={1}\nposition={2}", a.subject, a.sex, a.position);
//结构体成员还是结构体变量,访问方式
Person p1 = new Person ();
p1.b.bust = 36f;
p1.b.walst = 30;
p1.b.hips = 36;
//-----------------------------------------枚举------------------------------------------//
// enum 定义枚举类型关键字
//Season 新的枚举类型
public enum Season
{
Spring,
Summer,
Autumn,
Winter
}
//每一个枚举成员都对应一个整形值
//第一个成员默认值为0
//后面每一个成员的值为前一个成员的值+1
//成员的值可以自定义
//自定义成员前面的成员的值保持不变
//后面成员的值为前一个成员的值+1
//定义一种数据类型
//一一列举
//定义枚举变量:枚举类型名称 变量名称
//枚举变量的值必须是枚举类型的成员
Season s = Season.Spring;
Console.WriteLine (s);
s += 1;
Console.WriteLine (s);
//只能是Season成员
//枚举成员的引用
//枚举类型名称.成员名称
//Season.summer;
switch (s)
{
case Season.Spring:
Console.WriteLine ("Spring");
break;
case Season.Summer:
Console.WriteLine ("Summer");
break;
case Season.Autumn:
Console.WriteLine ("Autumn");
break;
case Season.Winter:
Console.WriteLine ("Winter");
break;
default:
Console.WriteLine ("Error Input");
break;
}
//自定义枚举类型,星期枚举类型
public enum Week
{
Sunday=0,
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday
}
//输入对应星期,Sunday=0,Monday=1,以此类推。输出对应星期的活动。
Week w=Week.Sunday;
int i;int
//Console.WriteLine (w);
Console.Write("请输入星期:");
i = int.Parse (Console.ReadLine ());
w += i;
switch (w)
{
case Week.Sunday:
Console.WriteLine ("rest");
break;
case Week.Monday:
Console.WriteLine ("work");
break;
case Week.Tuesday:
Console.WriteLine ("work");
break;
case Week.Wednesday:
Console.WriteLine ("work");
break;
case Week.Thursday:
Console.WriteLine ("work");
break;
case Week.Friday:
Console.WriteLine ("work");
break;
case Week.Saturday:
Console.WriteLine ("rest");
break;
default:
Console.WriteLine ("Error Input");
break;
}
Console.WriteLine ("Hello World!");
}
}
}