c#基础(视频)
可空类型
类型后面+?就可以声明可空类型了,可空类型和普通的类型是两种类型,赋值时需要进行类型转换
例如
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#基础(视频)的更多相关文章
- [[其他教程]] 2015年最新版iOS基础视频_最适合初学者入门
主讲:孙庆虎类型:iOS 适合对象:初学者入门视频介绍:本视频是iOS学院精心录制的免费精华版iOS语言基础视频,该视频特点在于最大程度保证了知识点的完整性,按知识点进行视频录制,每个视频控制在20分 ...
- 【液晶模块系列基础视频】4.5.X-GUI图形界面库-进度条等函数简介
[液晶模块系列基础视频]4.5.X-GUI图形界面库-进度条等函数简介 ============================== 技术论坛:http://www.eeschool.org 博客地址 ...
- 【液晶模块系列基础视频】4.4.X-GUI图形界面库-画tab函数简介
[液晶模块系列基础视频]4.4.X-GUI图形界面库-画tab函数简介 ============================== 技术论坛:http://www.eeschool.org 博客地址 ...
- 【液晶模块系列基础视频】4.3.X-GUI图形界面库-画box函数简介
[液晶模块系列基础视频]4.3.X-GUI图形界面库-画box函数简介 ============================== 技术论坛:http://www.eeschool.org 博客地址 ...
- 【液晶模块系列基础视频】4.2.X-GUI图形界面库-画矩形函数简介
[液晶模块系列基础视频]4.2.X-GUI图形界面库-画矩形函数简介 ============================== 技术论坛:http://www.eeschool.org 博客地址: ...
- 【液晶模块系列基础视频】4.1.X-GUI图形界面库-画线画圆等函数简介
[液晶模块系列基础视频]4.1.X-GUI图形界面库-画线画圆等函数简介 ============================== 技术论坛:http://www.eeschool.org 博客地 ...
- 【液晶模块系列基础视频】2.虚拟U盘
[液晶模块系列基础视频]2.虚拟U盘 ============================== 技术论坛:http://www.eeschool.org 博客地址:http://xiaomagee ...
- 【液晶模块系列基础视频】1.3.iM_TFT30模块简介
[液晶模块系列基础视频]1.3.iM_TFT30模块介绍 ============================== 技术论坛:http://www.eeschool.org 博客地址:http:/ ...
- 【液晶模块系列基础视频】1.2.iM_RGB模块介绍
[液晶模块系列基础视频]1.2.iM_RGB模块介绍(上) [液晶模块系列基础视频]1.2.iM_RGB模块介绍(下) ============================== 技术论坛:http ...
- 【液晶模块系列基础视频】1.1.iHMI43模块介绍
[液晶模块系列基础视频]1.1.iHMI43模块介绍(上) [液晶模块系列基础视频]1.1.iHMI43模块介绍(下) ============================== 技术论坛:http ...
随机推荐
- 基于Redission实现分布式调度任务选主
在Spring Cloud微服务架构中,基于Redisson实现分布式调度任务的选主和心跳监听,可以通过以下完整方案实现.该方案结合了Redisson的分布式锁和发布/订阅功能,确保高可靠性和实时性: ...
- AdaBoost算法的原理及Python实现
一.概述 AdaBoost(Adaptive Boosting,自适应提升)是一种迭代式的集成学习算法,通过不断调整样本权重,提升弱学习器性能,最终集成为一个强学习器.它继承了 Boosting ...
- Sentinel——网关限流
目录 网关限流 route维度 自定义异常 重定向 自定义结果 API维度 网关限流代码配置 网关限流 Sentinel 支持对 Spring Cloud Gateway.Zuul 等主流的 API ...
- 【记录】JS和C++的Base64编码解码(支持中文)
JS 解决方法来源于知乎新码笔记的文章 function b64Encode(str) { return btoa(unescape(encodeURIComponent(str))); } func ...
- N+1查询:数据库性能的隐形杀手与终极拯救指南
title: N+1查询:数据库性能的隐形杀手与终极拯救指南 date: 2025/05/06 00:16:30 updated: 2025/05/06 00:16:30 author: cmdrag ...
- AxureRP大型综合商场APP高保真交互原型图含VR试衣间停车缴费会员卡楼层导购
大型综合商场APP AxureRP高保真交互原型图含VR试衣间停车缴费会员卡楼层导购,是一款完全原创的,关于大型综合商场的综合类应用APP,app中包含在线VR试衣间.楼层导购.会员码支付.在线停车缴 ...
- 设计模式之“模板方法模式(TemplateMethod)”
一.使用场景 场景1 当我们要完成在某一细节层次一致的一个过程或一系列步骤,但其个别步骤在更详细的层次上的实现可能不同时,我们通常考虑用模板方法模式来处理 例如:将子类重复声明的方法提到父类去声明,利 ...
- 1Panel + MaxKB 对接高德地图 MCP Server
一.场景说明: 通过 1Panel+MaxKB 两个开源工具实现高德地图(Amap) MCP 服务调用. 二.操作说明 步骤一:完成 1Panel 的安装部署 安装说明:在线安装 - 1Panel 文 ...
- 中国科学院计算所:从 NFS 到 JuiceFS,大模型训推平台存储演进之路
中科院计算所在建设大模型训练与推理平台过程中,模型规模与数据集数量呈爆发式增长.最初采用简单的裸机存储方案,但很快面临数据孤岛.重复冗余.管理混乱和资源利用不均等问题,于是升级到了 NFS 系统.然而 ...
- Possible data inputs to DataFrame constructor
Possible data inputs to DataFrame constructor: import pandas as pd import numpy as np (1) 2D ndarray ...