c# 去除转义符号_c#语法

fe8d32a0f02f3dd0ec33e0ec69bda70b.png

一、.net面向对象

什么是面向对象?

1、面向对象编程英文 Object-Oriented Programming 简称 OOP

2、面向过程——是指把问题分解成步骤,一步一步实现。

面向对象——是把构成问题的事务分成各个对象,利用对象之间的关系来解决问题,面向对象因为把事务分成各个对象,所以更容易实现对象的封装,对象的复用。这也就是面向对象的几种特征(封装、继承、多态)。

为了更明白一点,举个例子:要解决去某水表制造公司上班这个问题,采用面向对象
先分解成对象
1.起床 这是一个对象,里面有成员(穿衣、洗脸、刷牙、吃饭)
2.上路 这是第二个对象,里面有成员(交通工具、路线)
3.到岗 这是第三个对象,里面有成员(签到)
4.上班 这是第四个对象,也是一天上班的核心对象,这个对象可以比较复杂一点,包含的成员比较多(进入工作任务、开始抄水表、完成工作流程、汇报工作等)
5.下班 这是第四个对象,这个对象,也有成员(交通工具和路线)这个和上班走同样的路线,只是方向不同,这里可以用到面向对象的一点重用的特性。
通过个例子,就使用面向对象编程的方式完成了一个《水表公司上班超级系统》

二、.net数据类型

1、基本数据类型(C#就15种数据类型)

分类:值类型(13个),引用类型(2个:string和object)

整型8个,浮点型 1个,decimal 型 2个,布尔类型 1 个,char字符类型 1 个,引用类型(string字符串类型1个、object类型1个)

7551c08991d893b27db4f818df85d01c.png

QC:命名空间的作用:

using system; //引用系统命名空间,主要是 int、bool等基本类的命名空间
using system.collection.generic;//主要是泛型集合的命名空间 List<T>……
using system.test;//这个应该是自己定义的命名空间
使用命名空间的好处是 减少代码量
例如:
使用命名空间 Using system;
int a=100;

Console.WriteLine(a);
========================================
不使用命名空间
那么完成相应的事情,就要写:http://System.int a = 100;
System.Console.WritelLine(a);

关于转义字符

为了使用一些特殊的字符型 ,C#使用转义字符

字符型中有下列转义符:
1,'用来表示单引号
2,"用来表示双引号
3, 用来表示反斜杠
4, 0 表示空字符
5, a 用来表示感叹号
6, b 用来表示退格
7, f 用来表示换页
8, n 用来表示换行
9, r 用来表示回车
10, t 用来表示水平tab
11, v 用来表示垂直tab

要点:

1.数据类型分为 值类型 (Value type) 和 引用类型 (reference type)

2.值类型存储实际值,而引用类型则为对存储在内存中某处的值的引用

3.string为引用类型,char为值类型

4.所有值和引用类型都由一个名为object的基本类发展而来

5.枚举(enum) 和结构(struct)为值类型

6.类、接口、数组、委托为引用类型

2、数据类型的转换

(1)c#类型转换的方式: 隐式转换、显示转换、用户自定义转换、使用帮助程序类的转换

隐式转换:由于该转换是一种安全类型的转换,不会导致数据丢失,因此不需要任何特殊的语法。 例如,从较小整数类型到较大整数类型的转换以及从派生类到基类的转换都是这样的转换。

显式转换(强制转换):显式转换需要强制转换运算符。 在转换中可能丢失信息时或在出于其他原因转换可能不成功时,必须进行强制转换。典型的例子包括从数值到精度较低或范围较小的类型的转换和从基类实例到派生类的转换。

用户定义的转换:可以定义一些特殊的方法来执行用户定义的转换,从而使不具有基类–派生类关系的自定义类型之间可以显式和隐式转换。

使用帮助程序类的转换:若要在不兼容的类型之间进行转换,例如在整数与 DateTime 对象之间转换,或者在十六进制字符串与字节数组之间转换,则可以使用 BitConverter 类、Convert 类和内置数值类型的 Parse 方法,例如 Int32.Parse

(2)装箱和拆箱转换(Boxing,UnBoxing)

主要是值类型与引用类型之间相互转换

如:object obj 1= 10;

int i = (int)obj; //拆箱

int j = 100;

object obj2 = j; //装箱

(3)string类型转换成int类型 bool result = Int32.TryParse(value (string类型), out number(int类型));

int.Parse 方法或者 int.TryParse方法都可以将一个string类型的数据转换成int类型。

①int.Parse法:——

intA =int.Parse(str);

c462dd81f3c12bc30ebcceaeed671236.png

②int.TryParse法

int.TryParse(str, out intA);

e012350afffa211e3b75bf38862d42b0.png

(4)Convert类实现数据类型转换

ToBoolean 将指定的值转换为等效的布尔值
ToByte 将指定的值转换为8位无符号整数
ToChar 将指定的值转换为Unicode字符
ToDateTime 将指定的值转换为DateTime
ToDecimal 将指定值转换为Decimal数字
ToDouble 将指定的值转换为双精度浮点数字
ToInt16 将指定的值转换为16位有符号整数
ToInt32 将指定的值转换为32位有符号整数
ToInt64 将指定的值转换为64位有符号整数
ToSByte 将指定的值转换为8位有符号整数
ToSingle 将指定的值转换为单精度浮点数字
ToString 将指定值转换为其等效的String表示形式
ToUInt16 将指定的值转换为16位无符号整数
ToUInt32 将指定的值转换为32位无符号整数
ToUInt64 将指定的值转换为64位无符号整数
那么,类型.Parse与Convert有什么区别呢?他们的区别在于Parse的参数只能是字符串类型(string),只能把字符串类型转成其它类型,而Convert可以某一对象的值转换成很多类型。
如:
bool Bl = = true;
int a = Convert.ToInt16(Bl); //只能这样转换,否则通不过。

(5)日期类转换

字符串转日期
string dateString = "5/1/2008 8:30:52 AM";
DateTime date1=DateTime.Parse(dateString,System.Globalization.CultureInfo.InvariantCulture);

日期转字符串
DateTime dat1 = new DateTime();

string datastr=
dat1.ToString(System.Globalization.CultureInfo.InvariantCulture);

三、变量和常量

1.常量:在编译时其值能够确定,并且程序运行过程中值不发生变化的量.

通俗来说,就是定义一个不能改变值的量。既然不能变动值,那就必须在定义的时候初始化。

示例:

语法: const 类型名 常量名=常量表达式;

例子: const string cat="hello cat";

2.变量:具有变量名和值的对象

变量就是把数据暂存于某处内存中,以备调用。

示例:

声明:[访问修饰符] 类型 变量名[=初值][变量名=[初值]...];

int int1,int2,int3=3,int4;

3.变量的作用域

变量可以使用修饰符,可用的修饰符如下:

public 不限制访问。

protected 仅限于当前类和派生类。

Internal 访问仅限于当前程序集。

protected internal 访问仅限于当前程序集或从当前派生的类。

private 仅限于当前类。

除以上修饰符外,还可以使用 static(静态)和readonly(只读)

3.命名规范

变量和方法参数命名:根据不同的数据类型前缀+首字母大写的变量描述

要点:

1.但是在方法体内声明的变量,不可以用public private等访问修饰符修饰;

2.在类中声明的变量,称为字段或成员变量;

3.变量名必须是字母或下划线开头不能有特殊符号;

4.变量可以同一语句中声明多个,用逗号分开;

5.变量申明时,可以赋值,也可以不赋值。

6.常量和只读变量区别:

a.常量必须在声明时就被初始化,指定了值后就不能修改了.

只读字段可以在声明时被初始化,也可以在构造函数中指定初始化的值,在构造 以后值就不能修改.

b.常量是静态的,而只读字段可以是静态和动态的

c.Const可以用在字段和局部变量,readonly只可以修饰字段

四、运算符和表达式

1.运算符分类和优先级

0bfbd123de77f89fc0c430e43b671a56.png

2.表达式分类

按运算符数目可分为:一元表达式,二元表达式,三元表达式

按用途分类:正则表达式、Lambda表达式等等。

关于这些复杂类型的表达式,后续会再作详细说明。

要点:

1. / 除法运算符 5/2=2 (并非四舍五入,而是舍去小数)

2. %取模运算符 5%2=1 5.0%2.2=0.6 (第2数整除第1数的余数)

3. ++ 递增运算符 -- 递减运算符

以上两个运算符 ,可以在前也可以在后, 但是在前和在后,其执行顺序不同 例如:

int a=1; int b=a++;

运算符在后,则程序先把a的值赋给b,再对a执行+1;

其运行结果为: a=2 b=1

如果写成下面的例子:

int m=1;int n=++m;

则执行完以后结果为: m=2 n=2;

实际上相当于 int m=1; m=m+1; int n=m;

4.位移运算符<<(左移) 和 >>(右移)

这两个运算符比较不常用,按官方的理解稍有点复杂

可以这样理解:其实就是数据转换成二进制的左右移动;

右移左补0,左移右补0,后面多出来的部分去掉。

如:把89右位移一位,可以这样计算:

string flag = Convert.ToString(89, 2); //这是把你的89转为2进制数。。

//flag结果:1011001

//你要右位移,左边补个0,后面多出来一位去掉

int j = Convert.ToInt32("0101100", 2); //再把2进制转化了10进制数。。

//结果:44

//位移就是这么简单

5.逻辑异或运算符 ^

对于简单逻辑运算符 & || 我们比较熟悉了,但对于异或好多人就 不了解,甚至很少用到

理解这个运算符,首先它虽然是逻辑运算符,但也是可以运算整数的

先说布尔运算,简单说,就是两个操作数不同,则为真;相同时为假

如:true ^ true=false; false^false=false; true ^false=true; false ^true=true;

操作整数时,则进行位运算,如:

100^45=73

数值运算举例

按位异或的3个特点:

(1) 0^0=0,0^1=1 0异或任何数=任何数

(2) 1^0=1,1^1=0 1异或任何数-任何数取反

(3) 1^1=0,0^0=0 任何数异或自己=把自己置0

例如:10100001^00010001=10110000

按位异或的几个常见用途:

(1) 使某些特定的位翻转

例如对数10100001的第2位和第3位翻转,则可以将该数与00000110进行按位异或运算。

10100001^00000110 = 10100111

(2) 实现两个值的交换,而不必使用临时变量。

例如交换两个整数a=10100001,b=00000110的值,可通过下列语句实现:

a = a^b; //a=10100111

b = b^a; //b=10100001

a = a^b; //a=00000110

(3) 在汇编语言中经常用于将变量置零:

xor a,a

(4) 快速判断两个值是否相等

举例1: 判断两个整数a,b是否相等,则可通过下列语句实现:

return ((a ^ b) == 0)

1. 字符和字符串运算

由于字符可以隐式转为整型,如 ‘a’+6=103 a被转为Unicode 97

‘a’*’b’=9506 相当于 97*98

‘a’>’b’结果为false 相当于97>98 返回false

‘a’ +”早上好” 返回 “a早上好”

由此可见。不同类型运算在C#中会先执行一次隐式转换

学习: http://edu.51cto.com/c222faa0-275f-42cb-85e6-e161b5dd0bff

四、异常:

 Console.WriteLine("请输入一个数:");//第一种异常:类型转换错误int num = int.Parse(Console.ReadLine());//第二种:存储的值超过范围Console.WriteLine("请输入一个数:");byte num2 = byte.Parse(Console.ReadLine());//第三种:除数为0double num03 = num / num2;//第四种:数组超过索引范围int[] array = { 1,2,3,4,5,6};foreach(int item in array){Console.WriteLine("{0}",item);}//第五种:连接数据库发生的异常Console.ReadKey();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/338014.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win7系统如何访问xp系统的服务器,WIN7系统怎么让XP系统访问呢

WIN7系统怎么让XP系统访问呢如果你发现某些程序出现兼容性问题&#xff0c;你有以下4种选择&#xff1a;1) XP兼容模式。右击程序文件或开始菜单中的快捷方式&#xff0c;选择属性&#xff0c;点击兼容性选项&#xff0c;在下拉菜单中选择在XP环境下运行。2) 升级到最新版本&am…

C语言基础知识储备,给你送干货啦!

点击上方蓝字关注我&#xff0c;了解更多咨询C 语言的特点C 语言程序设计就是结构化程序设计&#xff0c;它的主要观点是采用自顶向下、逐步细分和模块化的程序设计方法&#xff0c;使用顺序、选择、循环三种基本控制结构来构造程序。世间万物都有两面性&#xff0c;C 语言既有…

dalsa工业相机8k参数_工业传感器再掀巨浪 | Teledyne 以80亿美元收购FLIR,互补性产品组合又增体量...

收购 / Acquisitions2021年1月4日&#xff0c;Teledyne和FLIR联合宣布&#xff0c;双方已经达成了一项最终协议&#xff0c;Teledyne将以价值约80亿美元的现金和股票交易收购FLIR。根据协议条款&#xff0c;FLIR股东将以每股FLIR股份的价格获得每股28美元的现金和0.0718股Tele…

配置多个git账号_docker随手笔记第七节 jenkins通过git部署java微服务插件安装

docker随手笔记第一节 docker概念及安装docker随手笔记第二节 docker常用命令解析docker随手笔记第三节 docker构建java镜像docker随手笔记第四节 docker安装mysql5.7docker随手笔记第五节 docker安装redis4.0jenkins部署git的java微服务需要如下插件SSH plugin (远程登陆到服务…

适合新手入门—嵌入式C语言

点击上方蓝字关注我&#xff0c;了解更多咨询你现在被数百种电子设备包围着&#xff0c;虽然这些设备表面看起来很简单&#xff0c;但它们的体内都运行着复杂的微处理器(或微控制器)。微处理器的功能由嵌入式系统软件控制、引导和监督。嵌入式软件和嵌入式硬件构成了一个嵌入式…

如何学习C语言数据结构?

点击上方蓝字关注我&#xff0c;了解更多咨询C语言的数据结构与算法&#xff0c;难就难在链表&#xff0c;学会了链表&#xff0c;可能后面就一点都不难了。书籍推荐《数据结构与算法分析—C语言描述版》&#xff0c;要深入学习的话可以选择这本书&#xff0c;因为针对链表的讲…

数组做参数_C语言进阶之路:函数—数组参数!

数组参数属于指针参数.指针参数即时传址参数(或叫引用参数), 如果想在函数中修改参数的值, 这是唯一的途径.如果把数组当作参数, 不管你愿意与否, 它就是指针, 指向第一个值的指针.1. 数组参数就是指向第一个元素的指针:2. 干脆直接声明为指针:3. 即使你在形参中指定维数也不起…

wso2 esb_使用WSO2 ESB进行邮件内容过滤

wso2 esb每个集成设计师或开发人员都应该熟悉Gregor Hohpe和Bobby Woolf所描述的企业集成模式&#xff08;EIP&#xff09; 。 模式之一是“内容消息过滤器” &#xff08;不要与消息过滤器模式混淆&#xff09;。 使用不同的Mediator在WSO2中有多种方法可以实现此目的。 一种…

c语言中的/和%表示什么意思

点击上方蓝字关注我&#xff0c;了解更多咨询%代表求余运算符号&#xff1b;/代表除法运算符号。1、求余是一种数学计算方法&#xff0c;指一个数除以另一个数&#xff0c;不够除的部分就是余数&#xff0c;就是求余的结果。一个数除以另一个数&#xff0c;要是比另一个数小的话…

vue 脚手架测试环境_关于单元测试脚手架的几点思考

vue 脚手架测试环境莱昂&#xff1a;Luc Besson的专业人士 当我开始通过创建相同的对象并准备用于运行测试的数据来重复进行单元测试方法时&#xff0c;我对设计感到失望。 带有大量代码重复的长测试方法看起来并不正确。 为了简化和缩短它们&#xff0c;基本上有两个选择&…

Lightly:新一代的C语言IDE

点击上方蓝字关注我&#xff0c;了解更多咨询C语言最初是作为Unix系统的开发工具而发明&#xff0c;现如今已成为最广泛使用、最流行的编程语言之一。它具有如下几个特点&#xff1a;&#xff08;1&#xff09;低级语言它是一种建立在底层构建逻辑的机器语言&#xff0c;可以直…

c语言程序的基本单位是什么呢?

点击上方蓝字关注我&#xff0c;了解更多咨询随着科技的不断发展&#xff0c;电脑等终端设备已经成为我们生活中不可或缺的工具&#xff0c;而希望学习程序设计语言的朋友也越来越多&#xff0c;那么c语言的基本单位是什么呢&#xff1f;其实&#xff0c;c语言的基本单位是函数…

关于C语言中的memset()函数你了解多少

点击上方蓝字关注我&#xff0c;了解更多咨询1.函数原型及功能memset()函数原型为&#xff1a;函数功能&#xff1a;将_Dst所指区域的前size_t个字节均初始化为_val&#xff0c;调用时需要引用string.h头文件memset()函数多用于数组和结构体这种占用内存比较大的数据结构的初始…

如何判断无法到达目标的拼图_拼图项目的动机和目标

如何判断无法到达目标的拼图几周前&#xff0c;我写了一篇关于Jigsaw项目可能如何破坏现有代码的文章 。 那么我们得到什么回报呢&#xff1f; 让我们看一下项目解决的痛点及其在Java 9中解决问题的目标。 系列 这篇文章是正在进行的有关拼图项目系列的一部分。 按照推荐的顺序…

javafx显示image_JavaFX技巧20:有很多要显示的吗? 使用画布!

javafx显示imageJavaFX应用程序似乎有两种&#xff1a;第一种使用带有节点和CSS样式的场景图&#xff0c;第二种使用单个画布。 但是&#xff0c;将这两种方法混合使用是完全合法的。 尤其是当您的应用程序必须显示大量详细信息时&#xff0c;您很容易最终创建成千上万个节点。…

c语言中|的含义

点击上方蓝字关注我&#xff0c;了解更多咨询||在c语言中的意思是逻辑OR&#xff08;或&#xff09;运算&#xff0c;运算符两端有一个变量为真&#xff0c;则结果为真。比如a||b表示a和b做逻辑OR&#xff08;或&#xff09;运算&#xff0c;只要有任何一个变量为“真”&#x…

30 校准_校准or质控,傻傻分不清楚

今天发个福利&#xff0c;应kkz的要求&#xff0c;聊一聊我对IVD校准和质控的个人理解。非专业科普文&#xff0c;欢迎交流&#xff5e;先来讲个小故事&#xff1a;我小的时候&#xff0c;家里用的挂钟每隔一段时间就要调准一下。那个时候没有网络&#xff0c;爸妈是对着中央新…

C语言查找数组最大最小值

点击上方蓝字关注我&#xff0c;了解更多咨询C语言查询最大最小值的实现思路&#xff1a;定一个变量存储最大值或最小值&#xff0c;变量的初始值取自数组的第一个元素&#xff0c;然后遍历数组&#xff0c;如果遍历到的元素比变量的值大&#xff0c;就把值赋给变量&#xff0c…

c语言中%s的含义你知道吗?

点击上方蓝字关注我&#xff0c;了解更多咨询%s在C语言中代表字符串型格式符&#xff0c;一般用在printf、sprintf等字符串格式化函数中&#xff0c;用于决定格式化参数的数据类型。整数类型是%d,单精度浮点类型&#xff0c;也就是小数是%f,字符类型%c%c&#xff0c;%s这些代表…

mysql 1千万 like优化_MYSQL千万级数据量的优化方法积累

1、分库分表很明显&#xff0c;一个主表(也就是很重要的表&#xff0c;例如用户表)无限制的增长势必严重影响性能&#xff0c;分库与分表是一个很不错的解决途径&#xff0c;也就是性能优化途径&#xff0c;现在的案例是我们有一个1000多万条记录的用户表members,查询起来非常之…