c#语言—类与函数
来源:互联网 发布:网络推广100种方法 编辑:程序博客网 时间:2024/06/03 21:16
前言
之前我们谈到了面向对象的基础知识,接下来,小编带大家更深入地了解一下类及其方法的内容,其中会涉及到一些具体的小知识。
类与函数
一、类的成员
包含了字段,属性和方法。如图所示
二、构造方法
1.作用:
用来创建对象,并且可以在构造函数中对对象进行初始化。
2.构造函数
(1)构造函数是用来创建对象的特殊方法,方法名和类名一样,没有返回值,连void都不用。
构造函数可以有参数,new对象的时候传递函数参数即可
(2)如果不指定构造函数,则类有一个默认的无参构造函数。如果指定了构造函数,则不再有默认的无参构造函数,如果需要无参构造函数,则需要自己来写。
(3)构造函数可以重载,也就是有多个参数不同的构造函数。
函数中的参数out与ref
一、ref的认识
1.ref 关键字使参数按引用传递
(1)当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。
(2)要使用 ref 参数,方法定义和调用方法都必须显式使用 ref 关键字。
(3)例如:
class RefExample{ static void Method(ref int i) { i = 44; } static void Main() { int val = 0;//传递到 ref 参数的参数必须最先初始化 Method(ref val); // val is now 44 }
二、out的理解
1.out 关键字会导致参数通过引用来传递。
(1)不同之处在于 ref 要求变量必须在传递之前进行初始化。
(2)若要使用 out 参数,方法定义和调用方法都必须显示使用 out 关键字。
2.举例说明
class OutExample{ static void Method(out int i) { i = 44; } static void Main() { int value;//不必进行初始化变量 Method(out value); //调用方法以便在方法返回之前赋值。 // value is now 44 } }
三、两者的联系和区别
1.在运行时的处理方式不同,如上所示。
2.在编译时的处理方式是相同的。
(1)如果一个方法采用 ref 参数,而另一个方法采用 out 参数,则无法重载这两个方法。例如,从编译的角度来看,以下代码中的两个方法是完全相同的,因此将不会编译以下代码:
class CS0663_Example //报错的一种情况{ // compiler error CS0663: "cannot define overloaded // methods that differ only on ref and out" public void SampleMethod(ref int i) { } public void SampleMethod(out int i) { }}
(2)如果一个方法采用 ref 或 out 参数,而另一个方法不采用这两个参数,则可以进行重载,如下例所示:
class RefOutOverloadExample{ public void SampleMethod(int i) { } public void SampleMethod(ref int i) { }}
字符串函数
一、常用函数
1.字符串替换:
string Replace(string oldValue, string newValue)将字符串中的出现oldValue的地方替换为newValue。
例子:名字替换。
2.取子字符串:
string Substring(int startIndex),取从位置startIndex开始一直到最后的子字符串;
string Substring(int startIndex, int length),取从位置startIndex开始长度为length的子字符串,如果子字符串的长度不足length则报错。
二、返回值为布尔类型
1.bool Contains(string value)判断字符串中是否含有子串value2.bool StartsWith(string value)判断字符串是否以子串value开始;
3.bool EndsWith (string value)判断字符串是否以子串value结束;
4.int IndexOf(string value):取子串value第一次出现的位置。
5.Int IndexOf(string value,int startIndex)
小结
关于类似的函数知识,还有很多,需要不断地去了解和实践。
- c#语言—类与函数
- c#函数与相关类
- C#语言—表达式与基本语句
- c#语言与unity3D
- C#语言自定义平方根函数
- C# 函数与委托
- C#函数与JavaScript函数
- c#语言基础(3)----类的构造函数
- C#语言中类的构造函数详解
- 从汇编代码学习C++语言1—类对象构造函数与析构函数
- 语言提升——函数名与函数指针
- C#的委托与C语言下的函数指针简单比较
- 比较C#语言与Java语言程序
- 《数据结构与算法C#语言描述》笔记6_BitArray类
- C#语言函数参数的传递
- C#语言调用API函数的方法
- c#基础语言编程-常用函数
- 在C#中调用C语言函数
- android 迭代版本之 UI控件更新
- C语言的Socket编程例子(TCP和UDP)
- 鸟哥的服务器《七》Linux网络排错流程
- 【Spring学习10】依赖配置:bean的父子继承
- MFC对话框上显示位图
- c#语言—类与函数
- 1001. 害死人不偿命的(3n+1)猜想 (15)
- 我的敏捷开发流程
- 文章标题5
- zookeeper创建临时节点
- 文章标题6
- 管道命令(pipe |)命令执行判断依据:;,&&,||小结
- 关于百度地图的离线地图实现
- 关于不易复现的闪退(No Crash)