5.1类型转换

  1.类型转换

    1.1隐式转换:所有情况下可进行,编译器执行转换。

    1.2显示转换

      强制转换:强迫数据从一种类型转换为另一种类型。

      (<destinationType>)<sourceVar>

      溢出检查上下文:

      checked(<expression>)

      unchecked(<expression>)

      也可在VS中修改项目属性propertie→Build→Advanced→check for arithmetic overflow/unoverflow

    1.3使用 Convert命令进行显式转换。

      Convert.ToBoolean();  Convert.ToChar();  Convert.ToDouble();  Convert.ToByte();  Convert.ToDecimal();

      Convert.ToInt16();(short)    Convert.ToInt32();(int)    Convert.ToInt64();(long)  Convert.ToUInt64(ulong)

      Convert.ToSByte();(sbyte)  Convert.ToSingle();(float)    

      Convert.ToString();  Convert.ToUInt16();(ushort)

      要进行溢出检查,且checked/unchecked以及项目属性设置不起效

     附:short*short 返回 int 类型的值。

     另:ex1:short s1 =1;s1=s1+1; 报错。

       原因:short+int,会隐式转换为int类型,C#会把byte,short等类型的数据进行四则运算后的结果设为int类型,要求用户进行一次强制类型转换。

       ex2:short s2=1;s2+=1;正确

       原因:复合赋值运算会将运算结果隐式转换成运算符左边的类型。


5.2 复杂的类型

  2.1枚举

    定义:enum <typeName>:<underlyingType>(默认为int,可指定为其他基本类型)

       {

        <value1>,

        <value2>,

        ……,

        <valueN>

       }

    声明这个类型的变量:<typeName> <varName>;

    赋值:<varName>=<typeName>.<value>;

    附:(enumerationType)Enum.Parse(typeof(enumerationType),enumerationValueString);

      把string 转化为枚举值。

  2.2结构

    struct<typeName>

    {

     <memberDeclarations>→<accessibility><type><name>;(public double distance;)

    }

  2.3数组

    1.声明:<baseType>[] <name>;

    2.foreach循环:对数组内容进行只读访问,不能改变任何元素的值。

     foreach(<baseType><name> in <array>)

     {

      //can use <name> for each element.

     }

    3.多维数组:使用多个索引访问其元素的数组。


5.3字符串的处理

  string类型变量可以看成是char变量的只读数组。

  <string>.ToCharArray();

  <string>.ToLower();

  <string>.ToUpper();

  <string>.Trim();  <string>.TrimStart();  <string>.TrimEnd();

  <string>.PadLeft();  <string>.PadRight();(在字符串左/右边添加空格,使字符串达到指定长度。)

  <string>.Split(); 可将string转化为string数组,把它在指定位置分隔开。

  <string>[].Join();串联对象数组的各个元素,其中在每个元素之间使用指定的分隔符。

C#入门经典 Chapter5 变量的更多内容的更多相关文章

  1. C#入门经典第五版之变量的更多内容编码题训练

    1. 编写一个控制台应用程序,它接收用户输入的一个字符串,将其中的字符以与输入相反的顺序输出. public string ReverseString(string str) { string rev ...

  2. C#学习笔记(四)——变量的更多内容

    一.类型转换 1.转换的类型 2.隐式转换 bool 和string 没有隐式转换,具有隐式转换的都列在下面的表格 . 记住一个规律,就是由精度低的类型转到精度高的类型是很容易的. 3.显式转换 (1 ...

  3. c#第5章 变量的更多内容 隐式和显式转换、枚举、结构、数组、

    1.目标数据 destination 英[ˌdestɪˈneɪʃn] 美[ˌdɛstəˈneʃən] n. 目的,目标; 目的地,终点; [罕用语] 预定,指定; 2.源数据 source 英[sɔ: ...

  4. C#入门经典 Chapter3 变量和表达式

    3.1 C#基本语法 分号结束语句 花括号字符不需要附带分号 缩进     注释:/*....*/,//,/// 区分大小写 3.2 C#控制台应用程序的基本结构 namespace Chapter3 ...

  5. [SharePoint][SharePoint Designer 入门经典]Chapter7 数据源和外部内容类型

    本章概要: 1.SharePoint能够使用的数据类型 2.如何从SharePoint列表和库中取得数据并展现出来 3.SharePoint访问远程数据 4.如何把外部数据源作为列表展现在你的SPS站 ...

  6. Java Web入门经典扫描版

    全书共分4篇19章,其中,第一篇为“起步篇”,主要包括开启JavaWeb之门.不可不知的客户端应用技术.驾驭JavaWeb开发环境.JavaWeb开发必修课之JSP语法等内容:第二篇为“核心篇”,主要 ...

  7. C#入门经典(第五版)学习笔记(一)

    ---------------变量和表达式---------------赋值运算符:+=:-=:*=:/=:%=例如:i+=j 相当于 i=i+j i-=j 相当于 i=i-j以此类推 按位运算符:& ...

  8. 强烈推荐visual c++ 2012入门经典适合初学者入门

    强烈推荐visual c++ 2012入门经典适合初学者入门 此书循序渐进,用其独特.易于理解的教程风格来介绍各个主题,无论是编程新手,还是经验丰富的编程人员,都很容易理解. 此书的目录基本覆盖了Wi ...

  9. Oracle编程入门经典 第11章 过程、函数和程序包

    目录 11.1          优势和利益... 1 11.2          过程... 1 11.2.1       语法... 2 11.2.2       建立或者替换... 2 11.2 ...

随机推荐

  1. HDU 1325 拓扑排序

    根据题目所给的3个不符合情况的条件,一个个判断图是否符合这3个条件即可 1.不能出现内部环,拓扑排序判断 2.不能有超过1个点的入度为0,因为只有一个树根 3.每个点最多一个入度 这里要注意的一点是这 ...

  2. [codeVS3943] 数学奇才琪露诺

    题目描述 Description 作为上白泽慧音老师的出色弟子,数学奇才琪露诺在算术方面有很深的造诣.今天,codevs有幸请到了这位数学界的奇葩作为本场考试的第一题主考官. 琪露诺喜欢0-9之间的数 ...

  3. oracle 如何查看创建表等数据库对象时的DDL语句

    http://missyou4417.blog.163.com/blog/static/78905686201271041340284/ http://www.xifenfei.com/2012/05 ...

  4. docker: 定时检查docker container的运行状态并发邮件报警

    首先创建一个发送邮件的bash脚本 - send_mail.sh: #!/bin/bash curl -s --user 'api:key-xxxxxxxxxxxxx' \ https://api.m ...

  5. 推断给定的IP地址是否是内网IP

    /** * 推断给定的IP地址是否是内网IP * * @author GaoHuanJie */ public class Test{ public boolean isInnerIP(String ...

  6. 线段树+离散化 IP地址段检查 SEGMENT TREE

    Problem: Give a series of IP segments, for example, [0.0.0.1-0.0.0.3], [123.234.232.21-123.245.21.1] ...

  7. Professional, Entreprise, Architect版本的区别

    RAD Studio,Delphi和C ++ Builder有3个不同的版本:Professional,Enterprise和Architect.直到最近,我们还出售了一些企业版功能作为专业版的插件, ...

  8. 【转】Andorid获取状态栏高度

    在应用开发中,有时我们需要用代码计算布局的高度,可能需要减去状态栏(status bar)的高度.状态栏高度定义在Android系统尺寸资源中status_bar_height,但这并不是公开可直接使 ...

  9. YTU 2705:用重载求距离

    2705: 用重载求距离. 时间限制: 1 Sec  内存限制: 128 MB 提交: 208  解决: 114 题目描述 使用函数重载的方法定义两个重名函数,分别求出整型数的两点间距离和浮点型数的两 ...

  10. XAML实例教程系列 - 开篇(一)

    XAML实例教程系列 - 开篇 2012-05-14 11:47 by jv9, 5588 阅读, 8 评论, 收藏, 编辑 去年,曾答应银光中国论坛的朋友推出一个关于XAML语言实例教程系列,帮助学 ...