C#语法基础----变量 符号 数据转换

变量的做用:为了更好的管理内存数据,不一样类型的数据存放在不一样的内存块中。ios

变量的特色:不一样数据类型占用的存储空间大小不同。编程

变量的意义:内存地址是一串十六进制数,很是很差记忆,经过变量能够快速找到数据。windows

1.要肯定存储的数据的类型。框架

2.给这块空间起一个有意义的名字,方便咱们使用空间中的内容。spa

存储变量的语法:code

变量类型   tagName;orm

tagName = value;blog

C#中数据类型(数值类型/引用类型):内存

1)整数类型int:只能存储整数,不能存储小数。ci

2)小数类型double:既能存储小数,又能存储整数。

3)金钱类型decimal:用来存储金钱,值后面加m。

4)字符串类型string:用来存储文本,也可存储空,要用“”括起来。

5)字符类型char:用来存储单字符,不能为空。

值类型默认是0

下面介绍两个特殊的值类型(NaN和Infinity)

记住一条结论:Infinity*0,结果是0.而NaN*0的结果认识NaN。

下面描述一下C#和PLC中数据类型的取值范围,它们仍是有许多不一样之处的,以下表:

  C# PLC
int -231~231 -32767~32768
double +-5*10-324~+-1.7*10308 (DINT)-2147483648~-2147483648
decimal (-7.9*1028~7.9*1028)/100~28
string 不适用 不适用
char 不适用 不适用

变量的使用规则:使用变量,要先声明后赋值在使用

变量的命名规则:

(1)必须以字母或“_”开头,不要以数字开头

 

(2)后面面能够跟任意字母,数字和_。

注意:1.变量名不要有C#关键字重复。

      2.C#中大小写敏感。

      3.同一个变量不要重复定义。

变量命名的方法:

1)Camel骆驼命名规则:要求变量名单词首字母小写,其他单词首字母大写,多用于变量或字段的命名。

2)Pascal命名规则:要求每一个单词首字母大写,多用于类或方法命名。


 

C#中及格经常使用符号:

(1)“+”号:1.当“+”两边有一个是字符串时候,起链接做用。

              2.“+”两边是数字是相加。

(2){}占位符:使用方法先挖坑,在填坑。输出顺序按照挖坑顺序输出。

1 Console.WriteLine("课程编号:"+courseID+"课程名称:"+courseName); //+起到链接做用
2 
3 Console.WriteLine("课程编号:{0}课程名称:{1}".courseID,coureName);//{}占位符的用法
4 
5 Console.WriteLine($"课程编号:{courseID},课程名称:{courseName}");//Framework 4.6语法糖

代码第5行的语法糖称为字符串的插值,这在.NET Framework框架中,比“+”的效率高不少,链接符+会占用不少内存。

注意:挖几个坑,填几个坑,多填没有效果,少坑抛异常。

异常:语法上没有任何错误,只不过运行期间,因为某些缘由出现了问题,程序不在正确运行。

C#中的转义符:指的就是一个‘\’加上一个特殊的字符,组成了一个具备特殊意义的字符。

(1)\n:表示换行。(适用于console/winform/ios系统)

2)\":表示一个英文半角双引号。

(3)\t:表示一个tab键的空格。4个或8个空格,空格多少取决于编译器。

(4)\b:表示一个退格键,删除前一个字符,放在字符串的两边没有效果。

(5)\r\n:表示换行(windows系统适用)

(6)\\:表示一个\。

@符号的意义:1)取消\在字符串中的转移做用。

             2)将字符串按照原格式输出。

 


 

C#中的强制类型转换(显式)和自动转换(隐式)

显示的给变量赋以恶初始值,是咱们编程的一个好习惯。

 

1 Console.Write("请输入你的年龄"); 2 int age=int.Parse(console.ReadLine()); 
3 int age=string.ConverttoINT32(console.ReadLine());

 

这里还要说一点,咱们已经知道,string类型咱们能够赋空,语法有如下几种方式

1)string tag="";

2) string tag=null;

3) string tag=string.Empty;


 

 下面咱们介绍一个与变量对应的----常量

当咱们但愿某一个值不但愿被人修改,可使用常量。

常见应用:数学计算,上位机某些设备参数的定义。

常量的定义要求:

(1)必须在定义的时候就初始化(赋值)

(2)常量的名字所有大写(建议)

(3)常量的命名要有意义。

语法:const Type tag = value;


 

枚举的使用

枚举的做用:1.能够表示一组描述的名称,还能够有对应的“整数值”(默认从0开始)

            2.定义一组有限制,方便咱们使用(个数不要太多)

枚举的语法:

[public] enum 枚举名

{

   值1,

   值2,

   值3......   //最后的","可加可不加

}

 

 1 public enum Gender  2 {  3  Male,Female  4 }  5 
 6 static void main(string[] args)  7 {  8     Gender gender=Gender.Maie;  //定义枚举类型
 9  Conssole.WriteLine(gender); 10 }

 

补充:若要得到int类型,(int)gender;支持显示强制转换,枚举类型和int类型是兼容的。

      public:访问修饰符,公开的,哪里均可以访问

      枚举名:符合Pascal命名规范。

      将枚举声明在命名空间下,类的上面。

将enum类型强制转换成string类型

全部的类型都能转换成string类型,调用ToString()方法去转换。

比较麻烦的是将string类型转换成enum类型

这里先介绍三种转换的方法

(1)Convert.ToType()

(2)Type.TryParse()

(3)Type.Parse()

调用Parse()方法的目的就是为了让他帮助咱们将一个字符串转换成对应的枚举类型。

语法:(要转换的枚举类型)Enum.Parse(Typeof(要转换的枚举类型),“要转的字符串”);

举例以下

 

1 string s = "0"; 2 QQState state = (QQState)Enum.Parse(Typeof(QQstate),s);

 因此咱们能够获得一下一条结论:

枚举类型默认和int类型相互兼容,因此能够经过强制类型转换语法转化。enum和string亦可。若是转换的字符串是数字,就算

枚举中没有,也不会抛异常。若是转换的是字符串文本,若是枚举中没有,则会抛异常。

练习:提示用户选择一个在线状态,接受,并将用户输入转换成枚举类型,打印到控制台中。

 

 1 Console.WriteLine("请选择您的QQ在线状态 1--OnLine 2--OffLine 3--Leave 4--Busy 5--QMe");  2 string input = Console.ReadLine();  3 
 4 switch(input)  5 {  6     case "1":QQState s1 = (QQState )Enum.Parse(Typeof(QQState),input);  7     Console.WriteLine("您选择的在线状态是{0}",s1);  8     break;  9    
10      case "2":QQState s2 = (QQState )Enum.Parse(Typeof(QQState),input); 11     Console.WriteLine("您选择的在线状态是{0}",s2); 12     break; 13     
14       case "3":QQState s3 = (QQState )Enum.Parse(Typeof(QQState),input); 15     Console.WriteLine("您选择的在线状态是{0}",s3); 16     break; 17 
18     case "4":QQState s4 = (QQState )Enum.Parse(Typeof(QQState),input); 19     Console.WriteLine("您选择的在线状态是{0}",s4); 20     break; 21 
22      case "5":QQState s5 = (QQState )Enum.Parse(Typeof(QQState),input); 23     Console.WriteLine("您选择的在线状态是{0}",s5); 24     break; 25 } 26 Console.Readkey();

 


C#中经常使用的运算符和数据转换

(1)赋值运算符“=”

(2)算数运算符:+ - * / % ++ --

     其中要说明一点%适用于全部值类型,且结果不必定为整数。

自动类型转换

1.两种类型必须是值类型(int和double/foalt)

2.目标类型取值范围必须大于要转换的类型,例如double和int

显示类型转换的几种方法:

(1)类型直接转换(值类型之间)

(2)Parse转换(string--->值类型)

(3)Convert万能转换器(任意类型之间)

须要指出的是object类型的转换方法,须要一步一步转换,不能一步到位。

例如: object a = 10.25;

       int result = (int)(double)a;

string--->值类型:对于Parse()方法来讲要求字符串的格式必须符合目标类型的有效形式。

                  例如:int a = int.Parse("20.5")这样是会抛异常的。

避免上一个问题的异常就是使用Convert()方法。

下面介绍一种特殊状况:

若是小数部分为0.5,整数部分若为偶数保留,舍掉小数部分,若为奇数,则进一位。

 


最后咱们讲一讲关系运算符和逻辑运算符

关系运算符是用来描述两个事物之间的关系的

关系运算符:> < <= >= == !=

逻辑运算符:&& || !

相关文章
相关标签/搜索