㈠、定义变量

  • 先定义再赋值
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. AC自动机 (模板)

    AC自动机是用来干什么的: AC自动机是用来解决多模匹配问题,例如有单词s1,s2,s3,s4,s5,s6,问:在文本串ss中有几个单词出现过,类似. AC自动机实现这个功能需要三个部分: 1.将所有 ...

  2. 浅析 URL

    浅析 URL 参考于维基百科 URL => Uniform Resource Locator : 统一资源定位符 统一资源定位符的标准格式如下: [协议类型]://[服务器地址]:[端口号]/[ ...

  3. 关于Android 的内存泄露及分析(转)

    一. Android的内存机制Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似.程序员通过new为对象分配内存,所有对象在java堆内分配空间:然而对象的释 ...

  4. Word 写论文的一些教训和经验

    参考文献 写正文时就在引用位置添加参考文献的title,写完后,在百度学术或谷歌学术中搜索参考文献获取GB/T 7714的参考格式,在参考文献的章节为文献编号,在引用位置插入交叉引用. 插图 可以先在 ...

  5. C++用sqlite3_open连接打开指定数据库的小问题

    一开始我也纳闷,我以为是我数据库没弄好,但是当我仔细检查,才发现 原来我少了分号 写少了分号,可能会导致  database    和  table    找不到... 所以用的时候需要注意... 代 ...

  6. Linux下安装JDK及其碰到的问题解决

    1.下载一个linux版本的jdk包 2.新建一个目录,专门用来存放安装包 mkdir    /home/software 3.将jdk包拷贝到/home/software下面,并解压 4.配置jdk ...

  7. pom.xml报unknown error

    1. 从https://start.spring.io/的spring initializr生成demo,使用默认的2.1.6.release(2019年7月10日) 2. 在eclipse加载后,p ...

  8. Centos7安装Redis-单节点

    1.安装 gcc 编译环境 由于 Redis 使用 C 语言开发,所以官网下载的源码需要进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装. ​[root@CentOS ~]# yu ...

  9. Visual Studio Code 断点调试配置方法(请按我的步骤 一定可以做到)

    1 visual studio code 的 extentions 里安装插件 debugger for chrome2 devtool: 'eval-source-map', cacheBustin ...

  10. js排序专场

    1,冒泡排序 function bubble(arr) { var len = arr.length - 1; for (let i = 0 ; i < len; i++) { var bool ...