类和对象
类的概念
类的定义
语法:
class 类名{
// Methods, properties, fields, events, delegates
// and nested classes go here.
}
访问修饰符
public:所有皆可访问.
internal:在同一程序集的可访问
protected:保护的,仅在当前类或派生类可访问.
private:仅在当前类或结构可访问
类的访问修饰符可以为 public或internal. 默认为 internal
类成员的访问修饰符可以为 public, protected internal, protected, internal, private, private protected. 默认为private
对象
字段
字段,即成员变量.
方法
属性
属性同时具有set和get方法时:
- √两个方法都是public权限
- √一个方法为private,另一个方法为public. 意义:private方法只可被类内部访问(设置).不可被外部访问(设置).
- ×两个方法都是private权限 -- 此情况不存在 因为如果这样的话public属性就无意义,无存在的必要了
- [注意]:set,get方法默认为public权限,但无须写public关键字,如果写了会出错!
class 人类
{ private string 内部姓名;
public string 姓名 {//属性有两种写法
//get => 内部姓名;
//set => 内部姓名 = value; //写法一
get { return 内部姓名; } //写法二
set { 内部姓名 = value; }
}
/// <summary>
/// 打招呼()方法,主体人物向指定人物打招呼指定内容
/// </summary>
/// <param name="别人">指定人物.主体人物向指定人物打招呼.</param>
/// <param name="招呼内容">主体人物打招呼的内容.</param>
public void 打招呼(string 别人,string 招呼内容) {
Console.WriteLine("{0}向{1}打招呼说道:{2}", this.姓名, 别人, 招呼内容);
}
}
class MainClass
{ static void Main(string[] args)
{ 人类 某人 = new 人类(); //new(实例化)1个人类的对象:某人
某人.姓名 = "韦小宝"; //实例化对象后,就可使用该对象.
某人.打招呼("双儿", "大功告成,亲个嘴儿!");//调用 打招呼() 方法
某人.打招呼("阿珂","亲亲老婆举高高!");
某人.打招呼("康熙", "皇上鸟生鱼汤!一碗大大的好汤!");
某人.打招呼("洪安通和夫人", "教主和夫人永享仙福,寿与天齐!");
Console.ReadKey();
}
}
值类型和引用类型
方法参数
形参和实参
以上是值传递参数.
以上将值类型变量按引用传递参数.
注意:只有值类型变量才分为按值传递参数(默认)和按引用传递参数.(数字变量为值类型变量等)
注意2:引用类型的变量只能按引用传递参数(对象,数组,字符串变量等均为引用类型变量)
class MyClass
{ /// <summary>
/// Sum()方法中参数为可变参数.该方法返回所有参数和.
/// </summary>
/// <param name="nums">可变参数数组,包含所有参数</param>
/// <returns>返回所有参数之和</returns>
public int Sum(params int[] nums) {
int sum = 0;
foreach (int num in nums){ //循环遍历所有参数
sum += num; //将已遍历的所有参数累加至sum中
}
return sum; //将sum值返回
}
}
class MainClass
{ static void Main(string[] args)
{
MyClass c = new MyClass();
Console.WriteLine(c.Sum(1,2,3,4,5,6,7));
Console.ReadKey();
}
}
字符串
char字符:有且只能有1个字符,由单引号包起来.
例如 char c='a';
字符串的拼接
由+号连接两个字符串为一个新的字符串.
字符串的比较
两个字符串文本可以比较.
字符串本质是char类型的数组
字符串的方法和属性
参考:字符串(菜鸟教程) ,
String类官方参考
字符串属性
序号 | 属性名称 & 描述 |
---|---|
1 | Chars 在当前 String 对象中获取 Char 对象的指定位置。 |
2 | Length 在当前的 String 对象中获取字符数。 |
字符串方法:实例
如上,使用Contains方法判断主字符串是否包含指定子字符串;
使用IndexOf方法获得主字符串中首次出现指定字符(串)的下标位置;
使用Remove方法删除主字符串指定下标位置起的指定个数个字符(如果不指定字符个数,则为删除指定下标位置起的所有字符);
使用Replace方法可以将主字符串中出现的指定子字符(串)换成另一个指定的子字符(串);
使用Split方法可以根据主字符串中出现的指定标识字符将其分隔为指定份数的子字符串.
使用Substring方法从主字符串中获取指定子字符串,指定起始位置,并指定字符个数.