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. [luoguP2280] [HNOI2003]激光炸弹(DP)

    传送门 二位前缀和DP大水题 ——代码 #include <cstdio> #include <iostream> ; int n, r, ans; int sum[MAXN] ...

  2. Crashing Robots POJ 2632 简单模拟

    Description In a modernized warehouse, robots are used to fetch the goods. Careful planning is neede ...

  3. POJ 1328 Radar Installation 贪心算法

    Description Assume the coasting is an infinite straight line. Land is in one side of coasting, sea i ...

  4. 1067 Bash游戏 V2

    有一堆石子共有N个.A B两个人轮流拿,A先拿.每次只能拿1,3,4颗,拿到最后1颗石子的人获胜.假设A B都非常聪明,拿石子的过程中不会出现失误.给出N,问最后谁能赢得比赛. 例如N = 2.A只能 ...

  5. 20、Java并发性和多线程-Slipped Conditions

    以下内容转自http://ifeve.com/slipped-conditions/: 所谓Slipped conditions,就是说, 从一个线程检查某一特定条件到该线程操作此条件期间,这个条件已 ...

  6. 18、Java并发性和多线程-饥饿与公平

    以下内容转自http://ifeve.com/starvation-and-fairness/: 如果一个线程因为CPU时间全部被其他线程抢走而得不到CPU运行时间,这种状态被称之为“饥饿”.而该线程 ...

  7. 《Linux内核分析》MOOC课程

    http://www.cnblogs.com/wickedpriest/p/4315189.html

  8. apache2 ubuntu18.04 配置虚拟端口

    修改3个文件/etc/apache2/apache2.conf/etc/apache2/ports.conf/etc/apache2/sites-available/000-default.conf ...

  9. JQuery之replace以及给控件赋值

    <input type="hidden" name="ImgUrl" readonly="readonly"> <inpu ...

  10. about service in android

    注意:标红处! A Service is an application component representing either an application's desire to perform ...