可空类型

类型后面+?就可以声明可空类型了,可空类型和普通的类型是两种类型,赋值时需要进行类型转换

例如

double? num=null;

面向对象

三大特征

封装

打包,便于管理

继承

拿来主义,优势:解决代码冗余,特征:单根性(c#和java类语言的特征),继承性,javascript可以多继承,定义:将一个类库作为原始模版,在其上扩展另外的类库

构造方法的执行顺序:子类默认调用父类的构造方法

new对象的时候分2部分

1.New,创建对象,在内存开辟空间
2.调用构造方法,初始化数据,(先调用父类的构造方法,再调用自己的构造方法)

子类中的base()代表其父类的默认的无参的构造方法

如果父类没有无参的构造方法,只有有参数的构造方法,子类调用时

class Student:Person
public Student (string name):base(name)
{
}

里式转换原则

子类可以赋值给父类对象

父类对象可以强制转化为对应的子类对象

        class MyBase{}

        class MyClass1:MyBase{}

        class MyClass2:MyBase{}

        //里式第一条
MyBase m1=new MyClass1();
//里式第二条
MyClass1 m2=(MyClass1)m1;
//is,返回是bool类型
m1 is MyClass1;
//as ,转换成功则赋值,转换失败则为null
MyClass1 m4=m1 as MyClass1;

多态

对象在调用同一个方法的时候表现出来的多种状态

父类统一调用,子类具体实现(重写基类方法具体实现)

隐藏基类方法实现多态

口诀:New则隐藏,over重写;隐藏看类型,重写只管新

开启新的进程打开指定路径的文件。不用管文件格式,系统会默认使用对应的程序打开文件

System.Diagnostics.Process.Start(“文件全路径”);

接口语法

[访问修饰符] interface I接口名
{
接口成员
} public interface Idable
{
void Da();
} // 实现接口
abstract class CCC:Idable // 继承自接口, 实现接口
{
// 假定没有接口存在,但是需要一个名字为Da,没有返回值,没有参数的方法
public abstract void Da();
}

this和base

this:当前对象

base:子类中代表父类对象。

一个类的方法后跟:base(),代表调用这个方法前先调用父类的构造方法

public class():base()
{ }

7、 String 类型

-> 构造方法
new string(char[])
new string(char, int)
-> 常用属性
索引(Chars) str[3]
Length
-> 常用方法
增:
构造方法
string Insert(int startindex, string value);//给下标为startindexd的位置添加value值
string string.Join(string splitStr, string[]);//用splitStr, 把字符串数组连接起来
string Replace(string, string); // "123".Replace("2", "2222");
运算符+
string string.Concat(string[]); // string.Join("", list);//把字符串数组的每个元素连接起来 string PadLeft(int, char);
// 在字符串的左边填充一定空格或字符char,直到字符长度为int所表示的长多一样为止
string PadRight(int, char);
删:
string Remove(int startIndex, int count); // "012345".Remove(3,2); => "0125"
string Substring(int startIndex, int count); // "012345".Substring(3,2); => "34"
string Trim(params char[]);
string TrimStart();
string TrimEnd();

首先ToCharArray(),在Join或Concat或构造函数
string ToUpper();
string ToLower();

bool Contains(string);
int IndexOf(char, int);
int LastIndexOf(char, int); // 获得文件名:"C:\123\456\789.mp3";
int IndexOfAny(char[], int); // 找出字符串中所有的e和a
int LastIndexOfAny(...);
bool StartsWith(string);
bool EndsWith(string);
其他
bool string.IsNullOrEmpty(string)
string[] Split(char[], StringSplitOptions.RemoveEmptyEntries); //entry
// "I have a dream".Split(' ');
bool Equals(string);
bool string.Equals(string, string);
int string.Compare(string s1, string s2);
s1 > s2 1
s1 = s2 0
s1 < s2 -1
string string.Format(string, object[]);

8、 StringBuilder
-> 字符串不可变,长期拼接字符串性能较低
-> Stringbuilder
Append(string);
AppendLine(string);
AppendFormat(“{0}{1}{2}{3}”, 1, “23”, “ab”, true);
ToString();

//读取文件的所有行
string[] lines = File.ReadAllLines(“文件路径”, Encoding.Default);

c#基础(视频)的更多相关文章

  1. [[其他教程]] 2015年最新版iOS基础视频_最适合初学者入门

    主讲:孙庆虎类型:iOS 适合对象:初学者入门视频介绍:本视频是iOS学院精心录制的免费精华版iOS语言基础视频,该视频特点在于最大程度保证了知识点的完整性,按知识点进行视频录制,每个视频控制在20分 ...

  2. 【液晶模块系列基础视频】4.5.X-GUI图形界面库-进度条等函数简介

    [液晶模块系列基础视频]4.5.X-GUI图形界面库-进度条等函数简介 ============================== 技术论坛:http://www.eeschool.org 博客地址 ...

  3. 【液晶模块系列基础视频】4.4.X-GUI图形界面库-画tab函数简介

    [液晶模块系列基础视频]4.4.X-GUI图形界面库-画tab函数简介 ============================== 技术论坛:http://www.eeschool.org 博客地址 ...

  4. 【液晶模块系列基础视频】4.3.X-GUI图形界面库-画box函数简介

    [液晶模块系列基础视频]4.3.X-GUI图形界面库-画box函数简介 ============================== 技术论坛:http://www.eeschool.org 博客地址 ...

  5. 【液晶模块系列基础视频】4.2.X-GUI图形界面库-画矩形函数简介

    [液晶模块系列基础视频]4.2.X-GUI图形界面库-画矩形函数简介 ============================== 技术论坛:http://www.eeschool.org 博客地址: ...

  6. 【液晶模块系列基础视频】4.1.X-GUI图形界面库-画线画圆等函数简介

    [液晶模块系列基础视频]4.1.X-GUI图形界面库-画线画圆等函数简介 ============================== 技术论坛:http://www.eeschool.org 博客地 ...

  7. 【液晶模块系列基础视频】2.虚拟U盘

    [液晶模块系列基础视频]2.虚拟U盘 ============================== 技术论坛:http://www.eeschool.org 博客地址:http://xiaomagee ...

  8. 【液晶模块系列基础视频】1.3.iM_TFT30模块简介

    [液晶模块系列基础视频]1.3.iM_TFT30模块介绍 ============================== 技术论坛:http://www.eeschool.org 博客地址:http:/ ...

  9. 【液晶模块系列基础视频】1.2.iM_RGB模块介绍

    [液晶模块系列基础视频]1.2.iM_RGB模块介绍(上) [液晶模块系列基础视频]1.2.iM_RGB模块介绍(下) ============================== 技术论坛:http ...

  10. 【液晶模块系列基础视频】1.1.iHMI43模块介绍

    [液晶模块系列基础视频]1.1.iHMI43模块介绍(上) [液晶模块系列基础视频]1.1.iHMI43模块介绍(下) ============================== 技术论坛:http ...

随机推荐

  1. ESP32-S3接入大模型API,对话AI

    ESP32-S3接入大模型API,对话AI 1.先使用python验证可行性 import requests url = "https://api.siliconflow.cn/v1/cha ...

  2. SRAM的读、写操作、信息保持原理

    \(Vcc\)会使得\(T_3\)和\(T_4\)导通,但是哪个先导通是随机的,那么当\(T3\)先导通的时候,\(a\)点变为高电平,此时电流经由 \(a\) 点导通\(T2\),\(T2\)导通, ...

  3. jmeter从csv文件中取数据设置变量的方法

    从csv取数据是参数化方法之一 首先,CSV数据文件设置,选择数据文件,点击http请求,右键-添加-配置元件-csv data set config,添加CSV数据文件设置 添加后可对设置名称进行修 ...

  4. CentOS安装msf

    cd /opt curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/met ...

  5. WPF 制作三个点从左到右过渡隐藏显示

    Code: <Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/win ...

  6. 【经验】WakeUp、Outlook、Google日历导入飞书日历

    以飞书团队账号登录时,设置的日历就能被团队其他成员看到(可选择私密.仅忙碌[默认].完全公开三种模式),以便相互查看空闲时间. Wakeup日历导出到Outlook日历 Wakeup支持从各大学校便利 ...

  7. 信息资源管理综合题之“某国企投资IT应用人员减少但生成率没有实质性变化的IT黑洞问题”

    一.某大型国企在IT应用上投资了2000万美元,虽然蓝领工人数量大幅减少,但实际生产率并未有实质性变化 1.企业在IT应用上的巨额投资并未达到预期目标的这种现象被称为什么? 2.产生这现象的原因有哪些 ...

  8. RPC实战与核心原理之时钟轮

    时钟轮在RPC中的应用 回顾 在分布式环境下,RPC 框架自身以及服务提供方的业务逻辑实现,都应该对异常进行合理地封装,让使用方可以根据异常快速地定位问题:而在依赖关系复杂且涉及多个部门合作的分布式系 ...

  9. RPC的通信流程

    核心原理:能否画张图解释下RPC的通信流程? RPC的全称是Remote Procedure Call,即远程过程调用.RPC帮助我们屏蔽网络编程细节,实现调用远程方法跟调用本地(同一个项目中的方法) ...

  10. Docker基本使用方法

    Docker 的基本使用方法 最近在尝试复现研究CVE,docker太方便了,学了下基本的使用方法,怕忘记,记于此处 1. 容器与镜像 镜像是一堆只读的文件. 容器 = 镜像 + 读写层 运行态的容器 ...