C#本质论读书笔记:第一章 C#概述|第二章 数据类型
第一章



namespace testDemo{classProgram{staticvoidMain(string[] args){string a ="hello"+"wlz";string b ="hello";b +="wlz";StringBuilder c =newStringBuilder("hello");c.Append("wlz");string d ="hello";string.Concat(d,"wlz");Console.Write(a);}}}
.classprivateauto ansi beforefieldinit testDemo.Programextends[mscorlib]System.Object{// Methods.method private hidebysig staticvoidMain(string[] args) cil managed{// Method begins at RVA 0x2050// Code size 74 (0x4a).maxstack 2.entrypoint.locals init ([0]string a,[1]string b,[2]class[mscorlib]System.Text.StringBuilder c,[3]string d)IL_0000: nopIL_0001: ldstr "hellowlz"IL_0006: stloc.0IL_0007: ldstr "hello"IL_000c: stloc.1IL_000d: ldloc.1IL_000e: ldstr "wlz"IL_0013: call string[mscorlib]System.String::Concat(string,string)IL_0018: stloc.1IL_0019: ldstr "hello"IL_001e: newobj instance void[mscorlib]System.Text.StringBuilder::.ctor(string)IL_0023: stloc.2IL_0024: ldloc.2IL_0025: ldstr "wlz"IL_002a: callvirt instance class[mscorlib]System.Text.StringBuilder[mscorlib]System.Text.StringBuilder::Append(string)IL_002f: popIL_0030: ldstr "hello"IL_0035: stloc.3IL_0036: ldloc.3IL_0037: ldstr "wlz"IL_003c: call string[mscorlib]System.String::Concat(string,string)IL_0041: popIL_0042: ldloc.0IL_0043: call void[mscorlib]System.Console::Write(string)IL_0048: nopIL_0049: ret}// end of method Program::Main.method public hidebysig specialname rtspecialnameinstance void.ctor () cil managed{// Method begins at RVA 0x20a6// Code size 7 (0x7).maxstack 8IL_0000: ldarg.0IL_0001: call instance void[mscorlib]System.Object::.ctor()IL_0006: ret}// end of method Program::.ctor}// end of class testDemo.Program
var person =new{ name="wlz",phone="12346"};
[4]class'<>f__AnonymousType0`2'<string,string> person,IL_004f: ldstr "wlz"IL_0054: ldstr "12346"IL_0059: newobj instance voidclass'<>f__AnonymousType0`2'<string,string>::.ctor(!0,!1)
int? nullNum =null;int num =42;
[5] valuetype [mscorlib]System.Nullable`1<int32> nullNum,[6]int32 numIL_0060: ldloca.s nullNumIL_0062: initobj valuetype [mscorlib]System.Nullable`1<int32>IL_0068: ldc.i4.s 42IL_006a: stloc.s num
int bigNum =int.MaxValue;//2147483647int result = bigNum +1;Console.WriteLine(result);//result的值是-2147483648
.locals init ([0]int32 bigNum,[1]int32 result)IL_0000: nopIL_0001: ldc.i4 2147483647IL_0006: stloc.0IL_0007: ldloc.0IL_0008: ldc.i4.1IL_0009: addIL_000a: stloc.1IL_000b: ldloc.1
checked{int bigNum =int.MaxValue-1;int result = bigNum +1;}
.locals init ([0]int32 bigNum,[1]int32 result)IL_0000: nopIL_0001: nopIL_0002: ldc.i4 2147483646IL_0007: stloc.0IL_0008: ldloc.0IL_0009: ldc.i4.1IL_000a: add.ovfIL_000b: stloc.1IL_000c: ldloc.1
string text ="9.11E-31";//Parsefloat parseFloat =float.Parse(text);float tryParseFloat;//TryParsebool successParseFloat =float.TryParse(text,out tryParseFloat);//ToStringstring floatToString=tryParseFloat.ToString();string floatConvertToString=Convert.ToString(parseFloat);Console.WriteLine(parseFloat);
.locals init ([0]string text,[1]float32 parseFloat,[2]float32 tryParseFloat,[3] bool successParseFloat,[4]string floatToString,[5]string floatConvertToString,[6] bool CS$4$0000)IL_0000: nopIL_0001: nopIL_0002: ldstr "9.11E-31"IL_0007: stloc.0IL_0008: ldloc.0IL_0009: call float32[mscorlib]System.Single::Parse(string)IL_000e: stloc.1//将得到的值出栈(不是入栈)IL_000f: ldloc.0IL_0010: ldloca.s tryParseFloatIL_0012: call bool [mscorlib]System.Single::TryParse(string,float32&)IL_0017: stloc.3IL_0018: ldloca.s tryParseFloatIL_001a: call instance string[mscorlib]System.Single::ToString()IL_001f: stloc.s floatToStringIL_0021: ldloc.1IL_0022: call string[mscorlib]System.Convert::ToString(float32)IL_0027: stloc.s floatConvertToStringIL_0029: ldloc.1IL_002a: call void[mscorlib]System.Console::WriteLine(float32)IL_002f: nopIL_0030: ldloc.3IL_0031: ldc.i4.0IL_0032: ceqIL_0034: stloc.s CS$4$0000IL_0036: ldloc.s CS$4$0000IL_0038: brtrue.s IL_0043
string[] languages;
string[] languages={"C#","Java"};
string[] languages;languages=newstring[]{"C#","Java"};
string[] lanua =newstring[]{"C#","Java"};

int[,] table =newint[3,3];
int[][] crosstable ={newint[]{1,0,2},newint[]{3,2},newint[]{1},newint[]{}};
crosstable[2][2]=1;
bool[,,] cells =new bool[2,3,4];System.Console.WriteLine(cells.GetLength(2));//获取第三个维度,得到4System.Console.WriteLine(cells.Length);//24

C#本质论读书笔记:第一章 C#概述|第二章 数据类型的更多相关文章
- 【读书笔记】C#高级编程 第二章 核心C#
(一)第一个C#程序 创建一个控制台应用程序,然后输入代码,输入完毕后点击F5 Console.WriteLine();这条语句的意思:把括号内的内容输出到界面上: Console.ReadKey() ...
- 《Linux内核设计与实现》读书笔记——第一、 二章
<Linux内核设计与实现>读书笔记--第一. 二章 标签(空格分隔): 20135321余佳源 第一章 Linux内核简介 1.Unix内核特点 十分简洁:仅提供几百个系统调用并且有明确 ...
- 《javascript权威指南》读书笔记——第一篇
<javascript权威指南>读书笔记——第一篇 金刚 javascript js javascript权威指南 由于最近想系统学习下javascript,所以开始在kindle上看这本 ...
- 《C#从现象到本质》读书笔记(九)第11章C#的数据结构
<C#从现象到本质>读书笔记(九)第11章C#的数据结构 C#中的数据结构可以分为两类:非泛型数据结构和泛型数据结构. 通常迭代器接口需要实现的方法有:1)hasNext,是否还有下一个元 ...
- 《C#从现象到本质》读书笔记(八)第10章反射
<C#从现象到本质>读书笔记(八)第10章反射 个人感觉,反射其实就是为了能够在程序运行期间动态的加载一个外部的DLL集合,然后通过某种办法找到这个DLL集合中的某个空间下的某个类的某个成 ...
- 《C#从现象到本质》读书笔记(七)第9章 泛型
<C#从现象到本质>读书笔记(七)第9章 泛型 泛型的三大好处:类型安全,增强性能(避免装箱和拆箱),代码复用. 泛型方法是传入的参数至少有一个类型为T(尚未制定的类型,根据微软的命名规则 ...
- 《C#从现象到本质》读书笔记(五)第5章字符串第6章垃圾回收第7章异常与异常处理
<C#从现象到本质>读书笔记(五)第5章字符串 字符串是引用类型,但如果在某方法中,将字符串传入另一方法,在另一方法内部修改,执行完之后,字符串的只并不会改变,而引用类型无论是按值传递还是 ...
- ASM学习笔记--ASM 4 user guide 第二章要点翻译总结
参考:ASM 4 user guide 第一部分 core API 第二章 类 2.1.1概观 编译后的类包括: l 一个描述部分:包括修饰语(比如public或private).名字.父类.接口 ...
- JS高程读书笔记-第一、二章-内附在线思维导图和quizlet卡片
之前在kindle上买了高程,今天又到了纸质的<JavaScript语言精粹>,<高性能JavaScript>,<JavaScipt设计模式>,开始读书之旅啦. 我 ...
随机推荐
- oracle缓存池使用解析
oracle有三种类型的缓存池,分别是default,keep和recycle.默认情况下只会使用default缓存池,另外两种需要额外配置. keep缓存池相当于是一直很热的default缓存池,缓 ...
- 修改Tomcat服务器的端口号
关键技术: Connector子元素下的port是设置服务器端口,而connection Timeout则是服务器连接超时单位为毫秒. 操作过程: (1)采用记事本打开Tomcat安装目录下的conf ...
- 进制,原码VS补码
进制 十,八,十六进制=>二进制 十进制=>二进制:辗转相除取余,10除2商5余0,5除2商2余1,2除2商1余0,1除2商0余1,So,10d=1010b 八进制=>二进制:每1位 ...
- oracle表连接——处理连接过程中另外一张表没有相关数据不显示问题
一个数据表基本上很难满足我们的查询要求,同时,将所有的数据都保存在一个表格中显然也不是一种好的数据库设计,为了避免数据的冗余,删除.更新异常,我们通常需要建立一张外键表,通过表连接,来获取我们自己想要 ...
- KEIL与ADS1.2共存
出现的问题: 原来电脑已经安装了ADS1.2.现在安装keil5编译一个32位新唐单片机程序时,出现了如下错误: Error: L6411E: No compatible library exists ...
- python django 模板
1 用两个大括号括起来的文字{{person_name}} 称为变量 2 被 大括号和面分号包围的文件({% if ordered_warranty %})是模板标签 3 过滤器是用管道符(|) 和U ...
- HADOOP cluster some issue for installation
给namenode搭建了HA,然后根据网上的配置也配置了secondary namenode, 但是一直没有从日志中看到启动secondnary namenode,当然进程也没有. 找了很多资料,按照 ...
- NYOJ--1237最大岛屿
最大岛屿 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 神秘的海洋,惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等.加勒比海盗,你知道吧?杰克船长驾驶着自己的的 ...
- 【Android UI设计与开发】2.引导界面(二)使用ViewPager实现欢迎引导页面
1.实现的效果 2.编码前的准备工作 ViewPager是Android3.0之后提供的新特性,所以要想让你的应用向下兼容就必须要android-support-v4.jar这个包的支持,这是一个来自 ...
- 利用jquery来进行表单的多向提交
最近由于特别忙,每晚都是1到2点倒床便睡的那种,所以没有给自己要求写日记,等这阶段过完,还会重新开始. 今天来写一个前端的表单提交的方法. 有时往往以为在同一个表单中,不同的按钮,来表达的含义不同,需 ...