第二章:核心C#
变量
如果在一条语句中声明和初始化了多个变量,那么所有的变量都具有相同的数据类型
Int x=10,y=20;
变量使用前需要赋初始值
声明不同类型的变量需要单独的语句。
变量的初始化
变量时类或者结构中的字段,如果没有显式的初始化,创建这些变量时,其默认值就是0.
方法的局部变量必须在代码中显示的初始化,之后才能在语句中使用它们的值。
C#中初始化应用类型的数据时需要使用new关键字。
类型推断
1. 类型推断是使用var关键字
2. 变量必须初始化(否则编译器没有推断变量类型的依据)
3. 初始化器不能为空
4. 初始化器必须放在表达式中
5. 不能把初始化器设置成一个对象,除非在初始化其中创建了一个新的对象。
6. 声明的变量推断出类型后,就不能改变变量的类型了变量类型确定后就要遵循其他变量类型遵循的强类型化规则。
变量的作用域
变量的作用域是可以访问该变量的代码区域。
常量
在声明变量时前面加上const,就可以把该变量指定为一个常量。
常量必须在声明时初始化
常量的值必须在编译时用于计算
常量实际上是静态的,但,注意不允许在常量声明中包含修饰符static如果需要这么做,应该使用只读字段。
常量替代了难读的数字和字符串使程序易于阅读。
常量是程序易于修改。(销售税率发生变化6%变到8%)只需要修改变量的初始值即可
常量更容易避免让程序出现错误。
预定义数据类型
值类型和引用类型
值类型直接存储其值
应用类型存储对值的引用
存储位置不同:
值类型存储在堆栈中
引用类型存储在托管堆上
CTS类型
在C#中声明一个int类型的数据时声明的实际上是.net结构System。Int32的一个实例。
可以在语法上吧基本数据类型看做是支持某些方法的类。
C#有15个预定义的类型,其中13个值类型,两个引用类型(string和object)
C#支持8个预定义整数类型




Float f=23.30f;
Decimal类型的数据用于财务计算但是decimal不是基本类型,所以计算时使用该类型会有性能损失。
Decimal d=13.30M;
预定义的用用类型
Object 可以使用object引用绑定任何子类型的对象
Object执行许多一般用途的方法。(Equals(),GetHashCode(),GetType(),ToString()等等)。
String :虽然string是应用类型但是与其它引用类型在常见的操作上又有一些差别(字符串是不可变的:修改一个字符串就会创建一个全新的string对象而另一个字符串不发生任何变化)——实际是运算符重载的结果
转义字符的使用
String filepath=”C://ProCSharp//First.cs”;
String filepath=@”C:/ProCSharp/First.cs”;
流控制
switch (integerA)
{
case 1:
Console.WriteLine("1");
Break;
case 2:
Console.WriteLine("2");
Break;
default:
Console.WriteLine("is not 1or 2 ");
Break;
}
Main
C#程序是从方法Main()开始执行的。这个方法必须是类或者结构的静态方法并且返回值类型必须是Int或者void。
第二章:核心C#的更多相关文章
- c#高级编程第七版 学习笔记 第二章 核心c#
第二章 核心C# 本章内容: 声明变量 变量的初始化和作用域 C#的预定义数据类型 在c#程序中使用条件语句.循环和跳转语句执行流 枚举 名称空间 Main()方法 基本的命令行c#编译器选项 使用S ...
- C#高级编程第9版 第二章 核心C# 读后笔记
System命名空间包含了最常用的.NET类型.对应前面第一章的.NET基类.可以这样理解:.NET类提供了大部分的功能,而C#语言本身是提供了规则. pseudo-code,哈哈,秀逗code.伪代 ...
- 【读书笔记】C#高级编程 第二章 核心C#
(一)第一个C#程序 创建一个控制台应用程序,然后输入代码,输入完毕后点击F5 Console.WriteLine();这条语句的意思:把括号内的内容输出到界面上: Console.ReadKey() ...
- 第二章 JavaScript核心语法
第二章 avaScript核心语法 一.变量的声明和赋值 JavaScript是一种弱类型语言,没有明确的数据类型,也就是在声明变量时不需要指定数据类型,变量的类型由赋给变量的值决定. 在Java ...
- Python核心编程第三版第二章学习笔记
第二章 网络编程 1.学习笔记 2.课后习题 答案是按照自己理解和查阅资料来的,不保证正确性.如由错误欢迎指出,谢谢 1. 套接字:A network socket is an endpoint of ...
- Android 系统移植与驱动开发--第二章搭建Android环境核心步骤及心得
第二章 搭建Android 开发环境 虽然在这一章中讲的是Android底层开发环境,但是相应伴随的还有Android NDK程序来测试Linux驱动,HAL程序库.底层开发不仅需要交叉编译环境,还要 ...
- Python黑帽编程 2.0 第二章概述
Python黑帽编程 2.0 第二章概述 于 20世纪80年代末,Guido van Rossum发明了Python,初衷据说是为了打发圣诞节的无趣,1991年首次发布,是ABC语言的继承,同时也是一 ...
- 《Entity Framework 6 Recipes》翻译系列 (3) -----第二章 实体数据建模基础之创建一个简单的模型
第二章 实体数据建模基础 很有可能,你才开始探索实体框架,你可能会问“我们怎么开始?”,如果你真是这样的话,那么本章就是一个很好的开始.如果不是,你已经建模,并在实体分裂和继承方面感觉良好,那么你可以 ...
- 精通Web Analytics 2.0 (4) 第二章:选择你的网络分析灵魂伴侣的最佳策略
精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第二章:选择你的网络分析灵魂伴侣的最佳策略 在Web Analytics 2.0的新世界秩序中,您必须跳出"单一真理来 ...
- CISA 信息系统审计知识点 [第二章. IT治理和管理 ]
第二章. IT治理和管理 1. IT治理.管理.安全和控制框架及标准.指南和实践 IT治理是董事会和执行管理层的职责. IT治理的关键因素:保持与业务的战略一致,引导业务价值的实现. IT治理关注 ...
随机推荐
- codeforces-103B
题目连接:http://codeforces.com/contest/103/problem/B B. Cthulhu time limit per test 2 seconds memory lim ...
- HDU 3966 Aragorn's Story(树链剖分)(线段树区间修改)
Aragorn's Story Time Limit: 10000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- [CF232E]Quick Tortoise
题目大意: 给你一个$n\times m(n,m\leq 500)$的格子,有一些是障碍物.从一个格子出发只能向下或向右走,有$q$组询问,每次询问从一个点是否能够到达另一个点. 思路: 分治. 两点 ...
- JDBC_PreparedStatement 防sql注入
package songyan.jdbc.login.prepared; import java.sql.Connection; import java.sql.DriverManager; impo ...
- Hadoop 2.2.0 Job源代码阅读笔记
本文所有涉及的内容均为2.2.0版本中呈现. 概述: Job在创建Job并且提交的人的眼中,可以在创建的时候通过配置Job的内容,控制Job的执行,以及查询Job的运行状态.一旦Job提交以后,将不能 ...
- 纯CSS实现网站常用的五角星评分和分数展示交互效果
最近做的一个项目涉及到评分和展示分数的模块,UI设计师也给了几个切好的图片,实现五角星评分方式很多,本质爱折腾的精神和对性能追求以及便于维护的考虑,搜集和尝试了很多方式,最终采用了纯css驱动的实现方 ...
- tiny4412 串口驱动分析四 --- 修改默认的串口输出
作者:彭东林 邮箱:pengdonglin137@163.com 开发板:tiny4412ADK+S700 4GB Flash 主机:Wind7 64位 虚拟机:Vmware+Ubuntu12_04 ...
- kubernetes1.5.2--部署监控服务
本文基于kubernetes 1.5.2版本编写 Heapster是kubernetes集群监控工具.在1.2的时候,kubernetes的监控需要在node节点上运行cAdvisor作为agent收 ...
- 重新认识被人遗忘的HTTP头注入
前言 注入类漏洞经久不衰,多年保持在owasp Top 10的首位.今天就聊聊那些被人遗忘的http头注入.用简单的实际代码进行演示,让每个人更深刻的去认识该漏洞. HOST注入 在以往http1.0 ...
- ol 接入百度地图
ol5 如何接入百度地图,网上的资料很多,但是大多都有问题,在级别放大时,地图发生扭曲.为此注重研究了下ol5 接入百度地图的方法. 首先明确以下问题: 百度地图的投影是3857. 百度地图的分辨率和 ...