前言:

这个笔记是我个人总结,主要是熟练自己查看《Visual C# 从入门到精通》(第8版)这本书时,懵然起总结的想法,只是总结一些知识点,在工作项目会用得上,但是对毫无C#语言基础的,不大适合,因为里面会结合我自己的一些看法,估计需要一些基础才能看明白,如果需要一门入门级书籍还是要去购买《Visual C# 从入门到精通》(第8版)PDF版或者纸质版去一步步跟着书籍去练习操作。

——清风一人醉

第I部分 Visual C#和Visual Studio 2015 概述

第1章 使用变量、操作符和表达式

1.1 理解语句、标识符和关键字

语句是执行操作的命令,如计算值,存储结果,或者向用户显示消息。

C#语句遵循良好定义的规则集,而这些规则描述语句的格式和构成,称为语法

描述语句做什么的规范称为语义

*划重点 C#语句语法规则:所有语句都必须以分号终止。

标识符是对程序中的各个元素(命名空间、类、方法和变量)进行标识的名称。

 

*划重点 C#选择标识符语法规则:

  • 只能使用字母(大写和小写)、数字和下划线
  • 标识符必须以字母或下划线开头(如result,_name)

 

C#语言保留77个标识符供使用,这些标识符称为关键字,每个关键字有特定含义。如class,namespace,using等。(其它关键字想要了解,可百度一下。)

1.2 使用变量存储信息

变量是容纳值的一个存储位置。在使用变量的时候要对它进行命名。例如 int count;

*划重点 命名变量规则:

  • 不要以下划线开头。虽然在C#中合法,但限制了和其它语言(如Visual Basic)的代码的互操作性。
  • 不要创建仅大小写不同的标识符。例如同时使用myVariable和MyVariable变量,它们易混淆。在Visual Basic这样不区分大小写的语言中,类的重用性也会受限。
  • 名称以小写字母开头。
  • 在包含多个单词的标识符中,从第二个单词起,每个单词都首字母大写(这种写法是驼峰式)例如camelCase。

1.3 使用基元数据类型

数据类型

描述

大小(位)

示例

int

整数

32

int count;

count =42;

long

整数(更大范围)

64

long wait;

wait =42L;

float

浮点数

32

float away;

away=0.42F;

double

双精度(更精确)浮点数

64

double trouble;

trouble =0.42;

decimal

货币值(具有比double更高的精度和更小的范围)

128

decimal coin;

coin =0.42M;

string

字符序列

每字符16位

string vest;

vest =“text”;

char

单字符

16

char text;

Text=‘x’;

bool

布尔值

8

bool teeth;

teeth=true;

 

注意:

L:表示long

F:表示float

M:表示decimal

1.4 使用算术操作符

加号(+)、减号(-)、星号(*)、正斜杠(/)、百分号(%)分别执行加、减、乘、除、取模。它们成为操作符运算符,对值进行“操作”或“运算”来生成新值。在C#中,乘法类操作符(*,/和%)的优先级高于加法类操作符(+和-)。

注意:

操作符并不是适合所有数据类型,可使用任何算术操作符的数据类型char,int,long,float,double或decimal。

小知识点:字符串插值:开头的$符号表明这是插值字符串,{和}之间的任何表达式都需求值并置换。没有前置的$符号,字符串{“world”}将按字面处理。

我们通常在连接字符串习惯在中间用+连接,比如:

string text=“hello”+“world”;

 

字符串插值则允许改用以下语法:

string text=$”hello{“world”}”;

 

优点:字符串插值比+操作符高效的多。由于.NET Framework处理字符串的方式,用+来连接字符串可能消耗大量内存。字符串插值还更具可读性和减少犯错机会。

(技术无绝对,根据各人喜好用什么写法都可。)

1.5 变量递增递减

递增(++)和递减(--)是一元操作符,即只有一个操作数。它们具有相同的优先级和左结合性。递增和递减操作符与众不同之处在于,它们既可以放在变量前,也可以放在变量后。在变量前使用,称为这个操作符的前缀形式;在变量之后使用,则称为这个操作符的后缀形式。例如:

count++;//后缀递增

++count;//前缀递增

count--;//后缀递减

--count;//前缀递减

count++返回递增前的count值,而++count返回递增后的count值。

1.6 声明隐式类型的局部变量

var myVariable=99;

var myOtherVariable=“hello”;

以上俩个变量myVariable和myOtherVariable称为隐式类型变量。var 关键字告诉编译器根据用于变量的初始化表达式判断变量类型。在以上例子中myVariable是int类型,而myOtherVariable是string类型。

注意:var只是在声明变量时提供一些方便。但变量一经声明,就只能编译器推断的那种类型的值赋给它。例如,不能再将float,double,string值赋给myVariable。

特别注意:只有提供表达式来初始化变量,才能使用关键字var。

以下声明会导致编译错误:

var test;//错误-编译器不能推断类型

《Visual C# 从入门到精通》第一章使用变量、操作符和表达式——读书笔记的更多相关文章

  1. MyBatis3.2从入门到精通第一章

    第一章一.引言mybatis是一个持久层框架,是apache下的顶级项目.mybatis托管到goolecode下,再后来托管到github下.(百度百科有解释)二.概述mybatis让程序将主要精力 ...

  2. 第一章连通性问题-----algorithm in C 读书笔记

    首先不得不吐槽一下翻译的质量,霍红卫....你给我站出来,不打死你,只想问你一下,你当年四级过了吗? 问题描述 输入两个整数,代表两个节点,如果这两个整数没有建立连接(这包括直接连接和通过其他节点连接 ...

  3. SaltStack入门到精通第一篇:安装SaltStack

    SaltStack入门到精通第一篇:安装SaltStack 作者:纳米龙  发布日期:2014-06-09 17:50:36   实际环境的设定: 系统环境: centos6 或centos5 实验机 ...

  4. ArcGIS for Desktop入门教程_第一章_引言 - ArcGIS知乎-新一代ArcGIS问答社区

    原文:ArcGIS for Desktop入门教程_第一章_引言 - ArcGIS知乎-新一代ArcGIS问答社区 1 引言 1.1 读者定位 我们假设用户在阅读本指南前应已具备以下知识: · 熟悉W ...

  5. 【C语言探索之旅】 第一部分第四课第一章:变量的世界之内存那档事

    内容简介 1.课程大纲 2.第一部分第四课第一章:变量的世界之内存那档事 3.第一部分第四课第二章预告:变量的世界之声明变量 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答 ...

  6. 《TCP/IP详解卷1:协议》第11章 UDP:用户数据报协议-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  7. 《TCP/IP详解卷1:协议》第5章 RARP:逆地址解析协议-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  8. 《Visual C# 从入门到精通》第三章使用判断语句——读书笔记

    第3章 使用判断语句 3.1 使用布尔操作符 布尔操作符是求值为true或false的操作符. C#提供了几个非常有用的布尔操作符,其中最简单的是NOT(求反)操作符,它用感叹号(!)表示.!操作符求 ...

  9. SpringMVC从入门到精通之第一章

    第一节 简介:SpringMVC是Spring框架的一个模块,Spring和SpringMVC无需通过中间整合层进行整合.SpringMVC是基于MVC的WEB框架.MVC设计模式在B/S下的应用: ...

随机推荐

  1. python语法_input

    input:与用户的交互,返回用户输入的值 注意:input接受的所有数据都为字符串,即便输入的为数字,依然会被当成字符串

  2. 学习 yjango 博士的学习方法后的总结

    博士的初期内容主要是机器学习, 基于机器学习的理论来总结人类自身的学习过程和方式, 现总结博士视频中提到的主要方式 -.  学习的原则 例子重塑大脑 明确输入输出 用二阶知识拆分知识 二. 什么是学习 ...

  3. 简单的可以跑起来的dubbo例子

    原文地址:https://blog.csdn.net/jingyangV587/article/details/78901937 项目结构: maven项目,内部三个module. <?xml ...

  4. STL库学习笔记(待补充QAQ

    几百年前就说要学STL了然后现在还没动呢QAQ总算还是克服了懒癌决定学下QAQ 首先港下有哪几个vector listset map stack queue,大概就这些? 然后因为有几个基本操作每个都 ...

  5. 网络视频播放ZFPlayer

    根据项目需要,公司app需要用到视频播放功能,推荐ZFPlayer,视频播放几乎有你想要的任何样式,该博客只是为了给自己留一个以后查找的资料, 改代码可以使用ZFPlayer github地址 htt ...

  6. Java-idea-mybatis plugin插件使用

    方案一.免费插件[推荐] Free Mybatis plugin 方案二.破解插件 安装路径 File→Setting→plugin→Install  plugin 搜索需要插件即可 搜索Mybati ...

  7. java框架之SpringBoot(9)-数据访问及整合MyBatis

    简介 对于数据访问层,无论是 SQL 还是 NOSQL,SpringBoot 默认采用整合 SpringData 的方式进行统一处理,添加了大量的自动配置,引入了各种 Template.Reposit ...

  8. web状态管理机制

    引入:b/s(浏览器/服务器模式)区别于winform的是winform中只加载一次页面构造函数,而b/s中只要点击按钮或者其他涉及后台的操作都会调用后台代码.一般情况下为了防止服务器过载,b/s不会 ...

  9. SpringBoot框架的使用

    什么是SpringBoot Spring Boot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目.大多数SpringBoot项目只需要很少的配置文件. SpringBoo ...

  10. Cisco Packet Tracer

    ---恢复内容开始--- 1.简单局域网组建 交换机:2960  s1 终端设备:generic  pc 配置 pc1    单击>>Descktop>>IP configur ...