C#图解教程总结(第二章)

  写在本文前面的话,最近一直在自学C#,视频看了不少,案例demo也敲了不少,但局限于新生事物的自然抗拒性,加上自律等各种因素吧,效果很差。本着有问题就找原因的思路,发现还是基础太差,被网上各种资料迷惑。所以才有了接下来的C#图解教程学习总结。打算以此书为地基,梳理、总结、扩展,以递归方式不断重复。

2.1 一个简单的C#程序

using System;   //告诉编译器这个程序使用System命名空间的类型

namespace Simple //声明一个新命名空间,名称为Simple,新命名空间包括紧挨着的大括号内所有内容
{
	class Program   //声明一个新的类类型,名称为Program
	{
		static void Main()  // 声明一个名称为Main的方法作为类Program的成员
		{
			Console.WriteLine("hello world");// Main的方法体,只包含一个单独的语句
		}
	}
}

在这里插入图片描述

  • Main方法体中Console类是在System命名空间内,所以会在程序第一行添加using System。
  • Main是一个特殊函数,编译器用它作为程序的起始点。

2.2 标识符和关键字

定义:标识符是一种字符串,用来命名如变量、方法、参数和许多后面将要阐述的其他程序结构之类的东西。

使用规则

  • 字母和下划线(a-z、A-Z和_)可以用在任何位置
  • 数字不能放在首位,但可以放在其他的任何地方
  • @字符可以放在标识符的首位,但不能放在其他任何地方,虽然允许使用@字符,但不推荐作为常用字符。

标识符区分大小写,MYvar和myvar为不同的标识符

2.2.1命名约定

建议使用特定大小写约定创建标识符,比如Pascal大小写风格。

连续成标识符的每个单词都首字母大写,其余小写,比如ThreeNumber.

在成员字段命名中,有两个公共约定:

  • 字段名称以下划线开头:_HighTemp_LastTemp;
  • 字段名称以m_开头:m_HighTemp、m_LastName;

2.2.2 关键字

用来定义C#语言的字符串记号。

  • 关键字不能被用作变量名或任何气啊形式的标识符,除非以@字符开始

  • 所有C#关键字全部都由小写字母组成,但是.NET类型名使用Pascal大小写约定

在这里插入图片描述

上下文关键字是仅在特定的语言结构中充当关键字的标识符,但在其他地方代码,可以被当作标识符。
在这里插入图片描述

2.3 Main

每个C#程序必须有一个类带有Main方法(函数)。

每个C#程序的可执行起始点在Main中的第一条指令。

Main必须首字母大写

Main的最简单形式如下:

static void Main()
{
	更多语句
}

2.4 空白

程序中的空白指的是没有可视化输出的字符,空白字符包括:空格、制表符、换行符、回车符。

//很好的格式
Main()
{
	Console.WriteLine("Hello world");
}

//连在一起
Main(){Console.WriteLine("Hello XX");}

2.5语句

语句是描述一个类型或告诉程序去执行一个动作的一条源代码指令

简单语句以一个分号结束。

int val1 =5;
System.Console.WriteLine("Hello world, I am {0}",val1);

块是一个由成对大括号包围的0条或多条语句序列

{
	int val1 = 5;
	System.Console.WriteLine("The value of var1 is {0}",var1);
}
  • 有些特定的程序结构只能使用块,在这些结构中,不能用简单语句替代块
  • 虽然简单语句以分号结束,但块后面不跟分号

2.6 从程序中输出文本

控制台窗口是一种简单的命令提示窗口,允许程序显示文本并从键盘接收输入,BCL提供一个名称为Console的类。包括输入和输出数据到控制台窗口。

2.6.1 Write

Console类的成员,把一个文本字符发送到程序的控制台窗口

Console.Write("This is trivial text.");

//Write没有在字符串后面添加换行符,所以三条语句都输出到同一行
Console.Write("This is trivial text1.");
Console.Write("This is trivial text2.");
Console.Write("This is trivial text3.");

2.6.2 WriteLine

Console类的成员,和Write功能相同,但会在每个输出字符串的结尾添加一个换行符

System.Console.WriteLine("This is text 1.");
System.Console.WriteLine("This is text 2.");
System.Console.WriteLine("This is text 3.");

2.6.3 格式字符串

Write语句和WriteLine语句的常规形式中可以有一个以上的参数

//语法案例
Console.WriteLine(格式字符串(含替代标记),替换值0,替换值1,替换值2,....);

Console.WriteLine("Hello {0},Hello {1}.","xx","World");

2.6.4 多重标记和值

在C#中,替代标记和值的数量是任意的。

  • 值可以以任何顺序使用

  • 值可以在格式字符串中替换任意次

    Console.WriteLine("hello {0},hello {1},hello(1)","wolrd","xx");
    

标记不能试图引用替换值列表以外位置的值,如果引用了,不会产生编译错误。但会产生运行时错误。

Console.WriteLine("Hello {0},Hello {2}","xx","world");  //Error

2.7 注释

单行注释://

带分隔符注释:/* 注释内容 */。可以跨行‘。嵌套注释是不允许的

文档注释:/// 包括XML文本

//单行注释

/*
带分隔符注释第一行
带分隔符注释第二行
带分隔符注释第二行
*/

int  /*我是本行中注释的一部分*/ var2;

/*
带分隔符注释第一行
/*我是嵌套在带分隔符注释里面的又一个带分隔符注释,
但这样是不允许的,虽然不会报错*/
*/
    
 //文档注释
///<summary>
///This class does....
///</summary>
class Program
{
    ....
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
《轻松学C#(图解版)》完整扫描版================================================================ 基本信息 作者:谷涛、扶晓、毕国锋 丛书名:轻松学开发 出版社:电子工业出版社 ISBN:978-7-121-20223-0 出版日期:2013年6月 开本:16开 页码:408页 版次:1-1 定价:¥55.00 所属分类:计算机 > 软件与程序设计 > C# ================================================================ 内容简介 本书由浅入深,全面、系统地介绍了C#程序设计。除了详细地讲解C#知识点外,本书还提供了大量的实例,供读者实战演练。本书共分三篇。第一篇是C#概述篇,主要介绍的是Visual Studio 2012的开发环境及搭建。第二篇是面向对象基础篇,主要介绍类、对象、字段、方法、流程控制、数组、继承、属性、运算符重载、接口等C#基本内容。第三篇是应用技术篇,主要介绍的是异常处理、文件和流、委托、事件、Lambda表达式、命名空间、预处理器、程序集、运行时类型标识、反射、特性、泛型、LINQ和数据库开发等。 ================================================================ 图书目录 第一篇 C#概述篇 第1章 C#入门 2 1.1 C#概述 2 1.1.1 C#的发展 2 1.1.2 C#开发的基础 2 1.2 搭建开发环境 3 1.2.1 Visual Studio 2012软硬件配置要求 3 1.2.2 下载Visual Studio 2012 3 1.2.3 安装Visual Studio 2012 4 1.2.4 初始化配置 7 1.3 第一个程序—Hello World 8 1.4 小结 11 1.5 习题 12 第二篇 面向对象基础篇 第2章 类和对象 16 2.1 分析Hello World程序 16 2.2 语法规范 17 2.2.1 标识符 17 2.2.2 关键字 18 2.2.3 注释 19 2.3 定义类 20 2.4 实例化对象 20 2.5 小结 20 2.6 习题 21 第3章 定义类——字段 23 3.1 数据类型 23 3.1.1 简单值类型 23 3.1.2 值的表示——字面量 26 3.1.3 转义序列 27 3.2 定义字段 27 3.2.1 定义字段 28 3.2.2 静态字段和实例字段的访问 28 3.2.3 字段初始化 29 3.2.4 字段的动态赋值——Read()和ReadLine() 31 3.2.5 字段输出 31 3.2.6 格式化输出 32 3.2.7 数据类型转换 39 3.2.8 只读字段 41 3.2.9 访问控制 41 3.3 运算符 43 3.3.1 算术运算符 43 3.3.2 自增、自减运算符 44 3.3.3 复合赋值运算符 45 3.3.4 位运算符 46 3.3.5 sizeof运算符 47 3.3.6 运算符的优先级 47 3.4 小结 49 3.5 习题 49 第4章 定义类——方法 51 4.1 方法的概述 51 4.1.1 定义方法 51 4.1.2 方法的调用 52 4.2 方法体的构成 53 4.2.1 局部变量 53 4.2.2 局部变量与字段同名的解决——this关键字 54 4.2.3 语句 55 4.2.4 全局变量 55 4.3 返回值 56 4.3.1 返回值类型 56 4.3.2 从方法返回 57 4.4 参数 58 4.4.1 参数的分类 58 4.4.2 引用参数(ref参数) 59 4.4.3 输出参数(out参数) 61 4.5 特殊的方法 62 4.5

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yue008

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值