变量

如果在一条语句中声明和初始化了多个变量,那么所有的变量都具有相同的数据类型

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#的更多相关文章

  1. c#高级编程第七版 学习笔记 第二章 核心c#

    第二章 核心C# 本章内容: 声明变量 变量的初始化和作用域 C#的预定义数据类型 在c#程序中使用条件语句.循环和跳转语句执行流 枚举 名称空间 Main()方法 基本的命令行c#编译器选项 使用S ...

  2. C#高级编程第9版 第二章 核心C# 读后笔记

    System命名空间包含了最常用的.NET类型.对应前面第一章的.NET基类.可以这样理解:.NET类提供了大部分的功能,而C#语言本身是提供了规则. pseudo-code,哈哈,秀逗code.伪代 ...

  3. 【读书笔记】C#高级编程 第二章 核心C#

    (一)第一个C#程序 创建一个控制台应用程序,然后输入代码,输入完毕后点击F5 Console.WriteLine();这条语句的意思:把括号内的内容输出到界面上: Console.ReadKey() ...

  4. 第二章 JavaScript核心语法

    第二章   avaScript核心语法 一.变量的声明和赋值 JavaScript是一种弱类型语言,没有明确的数据类型,也就是在声明变量时不需要指定数据类型,变量的类型由赋给变量的值决定. 在Java ...

  5. Python核心编程第三版第二章学习笔记

    第二章 网络编程 1.学习笔记 2.课后习题 答案是按照自己理解和查阅资料来的,不保证正确性.如由错误欢迎指出,谢谢 1. 套接字:A network socket is an endpoint of ...

  6. Android 系统移植与驱动开发--第二章搭建Android环境核心步骤及心得

    第二章 搭建Android 开发环境 虽然在这一章中讲的是Android底层开发环境,但是相应伴随的还有Android NDK程序来测试Linux驱动,HAL程序库.底层开发不仅需要交叉编译环境,还要 ...

  7. Python黑帽编程 2.0 第二章概述

    Python黑帽编程 2.0 第二章概述 于 20世纪80年代末,Guido van Rossum发明了Python,初衷据说是为了打发圣诞节的无趣,1991年首次发布,是ABC语言的继承,同时也是一 ...

  8. 《Entity Framework 6 Recipes》翻译系列 (3) -----第二章 实体数据建模基础之创建一个简单的模型

    第二章 实体数据建模基础 很有可能,你才开始探索实体框架,你可能会问“我们怎么开始?”,如果你真是这样的话,那么本章就是一个很好的开始.如果不是,你已经建模,并在实体分裂和继承方面感觉良好,那么你可以 ...

  9. 精通Web Analytics 2.0 (4) 第二章:选择你的网络分析灵魂伴侣的最佳策略

    精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第二章:选择你的网络分析灵魂伴侣的最佳策略 在Web Analytics 2.0的新世界秩序中,您必须跳出"单一真理来 ...

  10. CISA 信息系统审计知识点 [第二章. IT治理和管理 ]

    第二章.  IT治理和管理 1.  IT治理.管理.安全和控制框架及标准.指南和实践 IT治理是董事会和执行管理层的职责. IT治理的关键因素:保持与业务的战略一致,引导业务价值的实现. IT治理关注 ...

随机推荐

  1. POJ 2689.Prime Distance-区间筛素数

    最近改自己的错误代码改到要上天,心累. 这是迄今为止写的最心累的博客. Prime Distance Time Limit: 1000MS   Memory Limit: 65536K Total S ...

  2. (11)oracle触发器

    触发器是特殊的存储过程. 每当一个特定的数据操作语句(inster,update,delete)在指定的表上触发时,Oracle自动的地执行触发器中定义的语句序列. create trigger 触发 ...

  3. BZOJ 2243 [SDOI2011]染色 (树链剖分)(线段树区间修改)

    [SDOI2011]染色 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 6870  Solved: 2546[Submit][Status][Disc ...

  4. Walls and Gates -- LeetCode

    You are given a m x n 2D grid initialized with these three possible values. -1 - A wall or an obstac ...

  5. SQL 统计某一列出现的总和

    现有数据如上图所示,要求统计出日期相同的Count总数,并且加一列统计前面日期Count的总和 SELECT SUM([Count]) AS DayTotal, SUM(SUM([Count])) o ...

  6. apache mod_speling.so 忽略URL大小写(自动纠错)

    apache mod_speling.so 忽略URL大小写(自动纠错) 打开配置文件  httpd.conf 加入 LoadModule speling_module modules/mod_spe ...

  7. TranslateAnimation详解 Android动画。

    TranslateAnimation详解 Android JDK为我们提供了4种动画效果,分别是: AlphaAnimation,RotateAnimation, ScaleAnimation, Tr ...

  8. Ubuntu 16.04将ISO镜像写入U盘

    sudo fdisk -l 查看U盘的路径,如/dev/sdc为U盘的位置,注意位置!注意这个不是挂载的位置. 然后准备好ISO文件,如放在/home/jim/abc.iso 然后输入 sudo dd ...

  9. 关于spring.net的面向切面编程 (Aspect Oriented Programming with Spring.NET)-简介

    本文翻译自Spring.NET官方文档Version 1.3.2. 受限于个人知识水平,有些地方翻译可能不准确,但是我还是希望我的这些微薄的努力能为他人提供帮助. 侵删. 简介 Aspect-Orie ...

  10. kubernetes社区项目生态概览

    原文  http://dockone.io/article/2075 作为容器集群管理技术的最流行的技术,kubernetes,自从2014在github上开源后,已经通过多个项目形成了一个生态,以下 ...