【C#学习笔记】各种定义方法的例子
2010-11-24 05:02
393 查看
虽然学C#有段时间了,但是基础不牢靠,都是走马观花的,学.Net framework时没法深入进去,现在回头从头系统学习,把一些东西记录在博客里,闲着没事就回头来看看,加深自己的语法印象,高手们就不用来看了,都是些基础东西,就是个笔记,和我一样走马观花的菜鸟朋友,可以经常来看看,让自己语法基础加深一下,未尝不是好事。
//有返回值方法
//调用例子:
//int i = 2;
//int result = Add(i);
//Console.WriteLine(result);
//Console.WriteLine(i);
//输出后结果为3和2
//参数为值类型,原值不被修改
public static int Add(int ToNumber)
{
int sum = 0;
for (int i = 1; i <= ToNumber; i++)
{
sum += i;
}
return sum;
}
//无返回值方法
//调用例子:
//AddVoid(2);
//输出后结果为3
public static void AddVoid(int ToNumber)
{
int sum = 0;
for (int i = 1; i <= ToNumber; i++)
{
sum += i;
}
Console.WriteLine(sum);
}
//引用类型方法
//调用例子
//Test obj = new Test();
//AddObject(obj);
//Console.WriteLine(obj.Number);
//输出结果为3
//传入obj对象的的Number属性,原属性值是1,传入后,对象的属性也被修改
//引用类型参数是传地址,不是传值,所有引用类型的原值也会被修改
public static void AddObject(Test obj)
{
obj.Number += 2;
}
//数组参数方法
//调用例子
//int[] Number = { 1, 2 };
//int result = AddArray(Number);
//Console.WriteLine(result);
//输出结果为3
public static int AddArray(int[] ToNumber)
{
int num = 0;
foreach (var i in ToNumber)
{
num += i;
}
return num;
}
//数组参数简化简化调用
//调用例子
//int Result = AddArrayV2(1, 2, 3);
//Console.WriteLine(Result);
//输出结果为6
//这种写法简化数组参数,调用时不需要定义数组,会自动将参数转换为数组值处理
public static int AddArrayV2(params int[] ToNumber)
{
int num = 0;
foreach (var i in ToNumber)
{
num += i;
}
return num;
}
//传地址参数,参数必须初始值
//调用例子
//int Number = 2;
//AddRef(ref Number);
//Console.WriteLine(Number);
//输出结果为4
//普通的写法值类型是直接传值,引用类型传地址
//虽然Number是值类型,但是用ref就变成传地址了,所以原值也会被修改
//注意的是,调用的时候也要加ref,而且参数传入前必须有初始值
public static void AddRef(ref int ToNumber)
{
ToNumber += 2;
}
//传地址参数,参数无初始值
//调用方法
//int Number;
//AddOut(out Number);
//Console.WriteLine(Number);
//输出结果为3
//此方法和ref一样,也是将值类型参数传入地址,原值也会被修改
//与ref不同的是,参数有方法体提供初始值
public static void AddOut(out int ToNumber)
{
ToNumber = 1;
ToNumber += 2;
}
//有返回值方法
//调用例子:
//int i = 2;
//int result = Add(i);
//Console.WriteLine(result);
//Console.WriteLine(i);
//输出后结果为3和2
//参数为值类型,原值不被修改
public static int Add(int ToNumber)
{
int sum = 0;
for (int i = 1; i <= ToNumber; i++)
{
sum += i;
}
return sum;
}
//无返回值方法
//调用例子:
//AddVoid(2);
//输出后结果为3
public static void AddVoid(int ToNumber)
{
int sum = 0;
for (int i = 1; i <= ToNumber; i++)
{
sum += i;
}
Console.WriteLine(sum);
}
//引用类型方法
//调用例子
//Test obj = new Test();
//AddObject(obj);
//Console.WriteLine(obj.Number);
//输出结果为3
//传入obj对象的的Number属性,原属性值是1,传入后,对象的属性也被修改
//引用类型参数是传地址,不是传值,所有引用类型的原值也会被修改
public static void AddObject(Test obj)
{
obj.Number += 2;
}
//数组参数方法
//调用例子
//int[] Number = { 1, 2 };
//int result = AddArray(Number);
//Console.WriteLine(result);
//输出结果为3
public static int AddArray(int[] ToNumber)
{
int num = 0;
foreach (var i in ToNumber)
{
num += i;
}
return num;
}
//数组参数简化简化调用
//调用例子
//int Result = AddArrayV2(1, 2, 3);
//Console.WriteLine(Result);
//输出结果为6
//这种写法简化数组参数,调用时不需要定义数组,会自动将参数转换为数组值处理
public static int AddArrayV2(params int[] ToNumber)
{
int num = 0;
foreach (var i in ToNumber)
{
num += i;
}
return num;
}
//传地址参数,参数必须初始值
//调用例子
//int Number = 2;
//AddRef(ref Number);
//Console.WriteLine(Number);
//输出结果为4
//普通的写法值类型是直接传值,引用类型传地址
//虽然Number是值类型,但是用ref就变成传地址了,所以原值也会被修改
//注意的是,调用的时候也要加ref,而且参数传入前必须有初始值
public static void AddRef(ref int ToNumber)
{
ToNumber += 2;
}
//传地址参数,参数无初始值
//调用方法
//int Number;
//AddOut(out Number);
//Console.WriteLine(Number);
//输出结果为3
//此方法和ref一样,也是将值类型参数传入地址,原值也会被修改
//与ref不同的是,参数有方法体提供初始值
public static void AddOut(out int ToNumber)
{
ToNumber = 1;
ToNumber += 2;
}
相关文章推荐
- (原创)c#学习笔记10--定义类成员05--部分方法定义
- (原创)c#学习笔记10--定义类成员01--成员定义02--建立方法
- C# 2010 从入门到精通 学习笔记2 第3章 方法和作用域
- C#学习笔记--方法和参数修饰符
- C#.NET学习笔记---C#中方法覆盖时override和new的比较,abstract和virtual的比较(含C#多态的实现)
- Visual C# 技术内幕学习笔记 第二章 C#基础(3) 继承和方法
- c++学习笔记之基础---类内声明函数后在类外定义的一种方法
- 黑马程序员之C#学习笔记: 使用Stream.Write方法向流中写字节数组
- c#学习 10/22 字符串的各种方法与继承的简单介绍
- C#学习笔记(23)——C#将PPT批量转为JPG(aspose方法)
- Dynamic CRM 2013学习笔记(十七)JS读写各种类型字段方法及技巧
- C#学习笔记之四 C#中数组的创建方法
- javascript学习笔记(九):DOM操作HTML的各种方法使用
- 学习笔记:C#修改电脑密码方法如下
- (原创)c#学习笔记10--定义类成员01--成员定义05--重构成员
- (原创)c#学习笔记10--定义类成员02--类成员的其他议题02--调用重写或隐藏的基类方法
- 学习笔记之C#类的构造方法
- C# 从入门到精通 学习笔记2 第3章 方法和作用域
- C#.NET学习笔记---C#中方法参数的传递方式: 值类型(默认),ref类型,out类型和params类型
- C#2005 .NET3.0高级编程学习笔记————类和结构,类的数据成员,类的函数成员(方法、属性)