C#入门经典 Chapter5 变量的更多内容
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 变量的更多内容的更多相关文章
- C#入门经典第五版之变量的更多内容编码题训练
1. 编写一个控制台应用程序,它接收用户输入的一个字符串,将其中的字符以与输入相反的顺序输出. public string ReverseString(string str) { string rev ...
- C#学习笔记(四)——变量的更多内容
一.类型转换 1.转换的类型 2.隐式转换 bool 和string 没有隐式转换,具有隐式转换的都列在下面的表格 . 记住一个规律,就是由精度低的类型转到精度高的类型是很容易的. 3.显式转换 (1 ...
- c#第5章 变量的更多内容 隐式和显式转换、枚举、结构、数组、
1.目标数据 destination 英[ˌdestɪˈneɪʃn] 美[ˌdɛstəˈneʃən] n. 目的,目标; 目的地,终点; [罕用语] 预定,指定; 2.源数据 source 英[sɔ: ...
- C#入门经典 Chapter3 变量和表达式
3.1 C#基本语法 分号结束语句 花括号字符不需要附带分号 缩进 注释:/*....*/,//,/// 区分大小写 3.2 C#控制台应用程序的基本结构 namespace Chapter3 ...
- [SharePoint][SharePoint Designer 入门经典]Chapter7 数据源和外部内容类型
本章概要: 1.SharePoint能够使用的数据类型 2.如何从SharePoint列表和库中取得数据并展现出来 3.SharePoint访问远程数据 4.如何把外部数据源作为列表展现在你的SPS站 ...
- Java Web入门经典扫描版
全书共分4篇19章,其中,第一篇为“起步篇”,主要包括开启JavaWeb之门.不可不知的客户端应用技术.驾驭JavaWeb开发环境.JavaWeb开发必修课之JSP语法等内容:第二篇为“核心篇”,主要 ...
- C#入门经典(第五版)学习笔记(一)
---------------变量和表达式---------------赋值运算符:+=:-=:*=:/=:%=例如:i+=j 相当于 i=i+j i-=j 相当于 i=i-j以此类推 按位运算符:& ...
- 强烈推荐visual c++ 2012入门经典适合初学者入门
强烈推荐visual c++ 2012入门经典适合初学者入门 此书循序渐进,用其独特.易于理解的教程风格来介绍各个主题,无论是编程新手,还是经验丰富的编程人员,都很容易理解. 此书的目录基本覆盖了Wi ...
- Oracle编程入门经典 第11章 过程、函数和程序包
目录 11.1 优势和利益... 1 11.2 过程... 1 11.2.1 语法... 2 11.2.2 建立或者替换... 2 11.2 ...
随机推荐
- jd-eclipse插件的安装
一,资源 jd-eclipse-site-1.0.0-RC2.zip 百度网盘链接:https://pan.baidu.com/s/1GTFFY_1jg4k9vjZNE4JliQ 提 ...
- I/O 模型及其设计模式
来源:伯乐在线 - 咸菜 链接:http://blog.jobbole.com/104638/ 前言 I/O在软件开发中的重要性无需多言,无论是在操作系统.网络协议.DBMS这种底层支撑软件还是在移动 ...
- 【CV论文阅读】YOLO:Unified, Real-Time Object Detection
YOLO的一大特点就是快,在处理上可以达到完全的实时.原因在于它整个检测方法非常的简洁,使用回归的方法,直接在原图上进行目标检测与定位. 多任务检测: 网络把目标检测与定位统一到一个深度网络中,而且可 ...
- php apc缓存以及与redis的对比
apc缓存用户数据这个会用, apc_store() 和apc_fetch()函数. 那apc 缓存php 代码,这个怎么用呢? 原文: http://blog.csdn.net/w187046226 ...
- 使用Jsoup解析和操作HTML
jsoup 简单介绍 jsoup 是一款 Java 的HTML 解析器,可直接解析某个URL地址.HTML文本内容.它提供了一套很省力的API,可通过DOM.CSS以及类似于jQuery的操作方法来取 ...
- 一起talk C栗子吧(第一百二十三回:C语言实例--显示变量和函数的地址)
各位看官们,大家好,上一回中咱们说的是多线程的样例.这一回咱们说的样例是:显示变量和函数的地址. 闲话休提,言归正转.让我们一起talk C栗子吧! 在编敲代码时,有时候须要获取程序中变量和函数的地址 ...
- MySQL 入门(九)—— 查询数据
查询数据就是从数据库中获取所须要的数据. 1.基本查询语句 即Select语句 当中.属性列表表示要查询的字段名.表名和视图列表表示从此处指定的表或者视图中查询数据.能够有多个:条件表达式1制定了查询 ...
- android开发艺术探索学习 之 结合Activity的生命周期了解Activity的LaunchMode
转载请标明出处: http://blog.csdn.net/lxk_1993/article/details/50749728 本文出自:[lxk_1993的博客]: 首先还是先介绍下Activity ...
- Go/Python/Erlang编程语言对比分析及示例 基于RabbitMQ.Client组件实现RabbitMQ可复用的 ConnectionPool(连接池) 封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil 分享基于MemoryCache(内存缓存)的缓存工具类,C# B/S 、C/S项目均可以使用!
Go/Python/Erlang编程语言对比分析及示例 本文主要是介绍Go,从语言对比分析的角度切入.之所以选择与Python.Erlang对比,是因为做为高级语言,它们语言特性上有较大的相似性, ...
- layoutSubviews, setNeedsLayout, layoutIfNeeded
layoutSubviews总结 ios layout机制相关方法 - (CGSize)sizeThatFits:(CGSize)size- (void)sizeToFit——————- - (voi ...