㈠、定义变量

  • 先定义再赋值
int Num1;
Num1 = 10;
  • 定义的同时赋值
int age = 28;
  • 定义多个变量同时赋值,先决条件变量类型相同,例如:
string phome = "18912508888", name = "王大";
  • 定义变量时,数据类型后面添加“?”

在变量类型后面添加“?”表示可空值类型。例如:

int a = null;//出错提示:无法将null转换为"int",因为它是不可为null的值类型

但是写成以下格式就不会报错

int? a = null;

㈡字符串中“+”和占位符{}

  • 是数学中的加法运算:两变参与加法运算的数据类型为数字类型,则“+”便是数学上的加法的意义。
  • 是连接的意思:两边参与加号运算的数据,有一个是字符型,那么这个“+”号就是连接的意义。

占位符就是先占住一个固定的位置,等着你再往里面添加内容的符号。站位符由{数字}组成,数字由0开始编号。

第1个占位符:{0}

第2个占位符:{1}

第2个占位符:{2}

string name = "张三";
int age = ;
decimal salary = 7600m;
//占位符{0}{1}{2}无顺序要求,可以在一句话中重复使用{0}代表第一个参数.
//重点:占位符的编号不能超过参数的总数减1个.超过报错
Console.WriteLine("我叫{0},今年{1}岁,我的工资{2}元", name, age, salary);

㈢转义符和“@”符号在字符串中的作用

常用的转义字符及其含义:
\’     单引号
\”     双引号
\\     反斜杠

Console.WriteLine("E:\\Program Files\\火马游戏\\GamePlaza.exe");

\0     空
\a     警告(产生峰鸣)
\b     退格 // \b就是键盘上Backspace功能,但是在字符窜末尾添加无效果。
\f     换页
\n     换行

Console.WriteLine("煮豆燃豆萁,\n豆在釜中泣.\n本是同根生,\n相煎何太急.");

\r     回车  //在字符串中添加\r 后面的字符将覆盖前面的字符

\t     水平制表符   //就是键盘的按Tab的效果
\v     垂直制表符

@符号的作用:

  • 取消转义符号"\"在字符串中的转义作用.
  • 将字符串按照原格式输出
Console.WriteLine(@"E:\Program Files\火马游戏\GamePlaza.exe");

㈣数据类型隐式转换

所谓隐式转换,就是系统默认的转换,其本质是小存储容量数据类型自动转换为大存储容量数据类型。

比如:int (隐式转换)==>longfloatdoubledecimal

隐式数值转换表(C# 参考)

你猜猜下面的运算结果:

int a = , b = ;
double quo = a / b;//结果:3

本来我以为是:3.333333。,但事实上结果是3.原因是参与运算的操作数(a、b)类型全部相同,其运算结果类型也与操作数的类型相同.然后赋值给quo变量变成了double类型。

其中操作数有一个是double类型其运算结果就是double类型。如下:

int a = , b = ;
double quo = 1.0 * a / b; //结果3.3333。。。

㈣数据类型显示转换

方法1. 该转换方式主要用于数字类型之间的转换,从int类型向long,float,double,decimal 类型转换可以使用隐式转换,但从long型到int 就需要使用显示转换,即使用该类型的转换方式否则产生编译错误。

  该方式对于浮点数会无条件的舍去,会失去精确度

  对于char类型的到int类型的转换,传回的值是ASCII码

double pi = 3.1415926;
int r = ;
double s = pi * Math.Pow(r, );//结果78.539815
int temp = (int)s; //结果78.舍去了小数部分
char sex = 'n';
temp = (int)sex; //结果110,可以转换单字母型

方法2。int.Parse(string 变量名)该方式是将数字内容的字符串转换为int类型,如果字符串的内容为Null ,则抛出ArgumentNullException异常;如果字符串内容不是数字,则抛出FormatException异常。

使用该方法只能处理字符串的内容,而且转换后的字符串内容要在int类型的可表示范围之内

string str1 = "3.1415926";
double dbla = double.Parse(str1);//结果:3.1415926
//int Num1 = int.Parse(str1); //语法没报错,启动时报错.提示字符串格式不正确.原因int.Parse只能转整型数值型字符串
int Num1 = (int)double.Parse(str1); //结果:3 分两步转换就可以了.
Console.WriteLine("dbla = {0} Num1 = {1}",dbla,Num1)

方法3.Convert.ToInt32 该方式不仅可以将字符串类型转换为int,还可以将其他的类型转换为int。变量若为object或string类型,当其值为Nul时,会传回0,不会造成程序错误,但是若此string类型的值为string.Empty,转换成int时,程序仍会出错。

string str1 = "3.1415926";
double dbla = Convert.ToDouble(str1);//结果:3.1415926

初学C#之变量、占位符、转义符、还有就是类型转换的更多相关文章

  1. c#基础学习(0626)之占位符、转义符

    占位符 使用方法:先挖个坑,再填个坑. 使用占位符需要注意的地方: 1.你挖了几个坑,就应该填几个坑,如果填多了,没效果,如果填少了,出现异常 异常是指:语法上没有任何错误,只不过再运行的期间,由于某 ...

  2. 【2017-2-19】C#数据类型,数据转换,变量,常量,转义符

    数据类型 一.基本数据类型 1.值类型(不可以为null) ⑴整型(可以为负数) byle,int,short,long(从小到大排列) 常用整型 int a=值(小于10位数) long b=值(1 ...

  3. 11.C#中的转义符和@符号的作用

    转义符 转义符是指一个'\'+一个特殊的字符,组成的一个具有特殊意义的字符. \n:  表示换行. namespace _11.转义符 { class Program { static void Ma ...

  4. Java语言基础---转义符

    转义符 转义符使用“\”表示.常用转义符如下: 1.‘\n’回车 2.‘\t’制表位字符,一个表示向右跳8-10个字符 3.‘\\’表示’\’ 4.‘\’’表示单引号 5.‘\’’’表示双引号 6.‘ ...

  5. Pycharm快捷键及Python常用转义符

    不管是windows.xshell或者pycharm,学会使用快捷键都会使学习工作达到事半功倍的效果.这篇博客收集了部分常用的pycharm快捷键,分享给大家,希望对大家有用. 1. 常用快捷键 Py ...

  6. .NET 基础 一步步 一幕幕[运算符、占位符、转义符]

      运算符.占位符.转义符 好吧,在五局全胜之后,终于升到了三个钻,距离一个星星还有一大段距离,忽然想起来今天的博客还没写,果断坑队友,来写博客了....感觉以后还是每天更新一篇比较好.要不晚上就该熬 ...

  7. Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助

    Python第二天  变量  运算符与表达式  input()与raw_input()区别  字符编码  python转义符  字符串格式化  format函数字符串格式化  帮助 目录 Pychar ...

  8. C#学习笔记9:C#中的变量、转义符、显式转换和隐式转换

    1.变量的特性:可以重复的赋值 int a=4;  a=9; 2.常量:const int  number=10:这个常量不可变 如果你声明的变量,不想被其他人修改,那么就修饰为常量 声明在类的下面, ...

  9. A Byte of Python 笔记(2)基本概念:数、字符串、转义符、变量、标识符命名、数据类型、对象

    第4章 基本概念 字面意义上的常量 如5.1.23.9.23e-3,或者 'This is a string'."It's a string!" 字符串等 常量,不能改变它的值 数 ...

随机推荐

  1. 创建用户(adduser和useradd)和删除用户(userdel)及

    一  用户创建命令: # adduser  用户名 # useradd  用户名 1) useradd 与 adduser 的区别 在CentOs系统中: useradd与adduser是没有区别的, ...

  2. P1058 选择题

    P1058 选择题 转跳点:

  3. ROS学习笔记3-基础课程之文件系统向导

    准备工作需要使用如下命令安装ros的教程: $ sudo apt-get install ros-<distro>-ros-tutorials 其中,distro为所用ros的发行版本,该 ...

  4. Vue - 定义使用组件

    import Card from './components/Card.vue' Vue.component('m-card',Card)   // component是注册全局组件,在实例化VUE前 ...

  5. NOIp2018普及组初赛试卷

    第二十四届全国青少年信息学奥林匹克联赛初赛(普及组C++语言试题)

  6. ng-trim

    最近新做了一个需求,要求在angular.js的input 文本框中做到去除首尾空格,实现精确查询. 查了很多正则表达式,后来才发现angular.js项目中默认就能去除首尾空格,ng-trim  默 ...

  7. node核心 http模块

    node作为服务器更多的是web服务器 1.http模块 首先:http是一个协议.里面有通信机制,状态码一大堆乱七八糟的东西.自己写猴年马月都写不出来,这个对象帮我们集成.直接用 服务器对象: ht ...

  8. SQL注入汇总(手注,盲注,报错注入,宽字节,二次编码,http头部){10.22、23 第二十四 二十五天}

    首先什么是SQL注入: 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. SQL注入有什么危害? 危害:数据泄露.脱库 ...

  9. OI生涯回顾

    OI回忆录只是一个预告,估计等2020高考结束才放出来吧. 先写一下自己简单的OI历程吧: 小升初刚起步 初一 第一次比赛,NOIP PJ组215分,踩线1=,全省rk86,全国rk677(毕竟AH ...

  10. cf 763B. Timofey and rectangles

    %%题解,脑洞好大啊. 四色定理什么鬼的..所以一定是yes. 因为矩形边长都是奇数,所以可以按左下角分类,一共4类,分别1,2,3,4就可以了. (需要4种颜色的情况大概就是4个矩形围起来一个矩形) ...