个人学习一点小知识(我们不求多但求精)C# 方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 方法定义与调用
{
#region 方法的定义与调用
class Program
{
public double MyMethod()
{
Console.WriteLine("this is MyMethod.");
double i = 10.234; //这个类型和上面 public double MyMethod()要一致
return i;
}
static void Main()
{
Program method = new Program();
double j = 5;
j = method.MyMethod(); //调用了double i = 10.234这句
Console.WriteLine("the value is {0}.", j);
Console.ReadKey();
}
}
#endregion
#region 方法中的参数传递(1.传递值类型的参数)
class Program
{
public static void AddOne(int a)
{
a++;
}
static void Main()
{
int a = 33;
Console.WriteLine("调用AddOne之前,a = {0}", a);
AddOne(0);
Console.WriteLine("调用Addone之后,a = {0}", a);
Console.ReadKey();
}
}
#endregion
#region 方法中的参数传递(2.传递引用类型的参数(ref 参数类型 参数名))
//ref 与传递值类型参数不同,引用类型的参数并没有再分配内存空间
//实际上传递的是指向原变量的引用,及引用参数和原变量保存的是同一个地址。ref(Reference)
class Program
{
public static void AddOne(ref int a)
{
a++;
}
static void Main()
{
int x = 3;
Console.WriteLine("调用AddOne之前,x={0}",x);
AddOne(ref x);
Console.WriteLine("调用AddOne之后,x={0}",x);
Console.ReadKey();
}
}
#endregion
#region 方法中的参数传递(3.输出多个引用类型的参数(out 参数类型 参数名))
//out作用一个方法计算的结果有多个
class Program
{
public static void MyMethod(out int a, out int b)
{
a = 5;
b = 6;
}
static void Main()
{
int x, y;
MyMethod(out x, out y);
Console.WriteLine("调用Mymethod之后,x = {0},y = {1}",x,y);
Console.ReadKey();
}
}
#endregion
#region 方法中的参数传递(4,传递个数不确定的参数)
class Program
{
public static float Average(params long[ ] V)
{
long total, i;
for (i = 0, total = 0; i < V.Length; ++i)
total += V[i];
return (float)total / V.Length;
}
static void Main()
{
float x = Average(1, 2, 3, 5);
Console.WriteLine("1,2,3,5的平均值为{0}", x);
x = Average(4, 5, 6, 7, 8);
Console.WriteLine("4,5,6,7,8的平均值为{0}", x);
Console.ReadKey();
}
}
#endregion
#region 方法重载
//方法重载是指具有相同的方法名,但参数类型后参数个数不完全相同的多个方法
//可以同时出现在一个类中。这种技术非常有用,在项目开发过程中,我们会发现很多方法都需要使用重载技术
class Program
{
public static int Add(int i, int j)
{
return i + j;
}
public static string Add(string s1, string s2)
{
return s1 + s2;
}
public static long Add(long x)
{
return x + 5;
}
static void Main()
{
Console.WriteLine(Add(1, 2));
Console.WriteLine(Add("1", "2"));
Console.WriteLine(Add(10));
//按回车键结束
Console.ReadLine();
}
}
#endregion
}