《C#高级教程》学习笔记1
第一天:
前注:
最近想学C#了,于是便买了一本《C#高级教程》,不过书太厚了,一千五百多页,肿么办,我想快点啃完这本书。两个月怎么样(最起码在过年前)。好吧,60天,1500页,一天25页,假设一页10分钟,那么一天四个小时,呵呵了……(大二很多课,而且快学期末要复习,难度不小)
第一章:.NET体系结构
1.1 C#与.NET的关系
C#依赖.NET,但C#只是一门语言,本身不是.Net的一部分。
C#编译器专门用于.NET,这表示用C#编写的代码总是在.NET Framework中运行。
1.2 公共语言运行库
.NET Framework的核心是其运行库执行环境,称公共语言运行库(CLR)或.NET运行库。
在CLR控制下运行的代码称为托管代码(managed code)。
在.NET中编译分为
1:将源代码编译为Microsoft中间语言(IL)。
2:CLR把IL编译为平台专用的代码。
1.2.1 平台无关性
略。
1.2.2 提高性能
(我还没学编译原理这门课,所以不懂,略)
1.2.3 语言的互操作性
各种语言交互,有VB,VC++,COM和COM+,Windows运行库。
略。
1.3 中间语言
1.3.1 面向对象和接口的支持
……
(不行了,后面的内容对现在的我太复杂了,硬看了看完即忘,还是以后再算了,跳到第二章)
第二章:
2.1 C#基础
2.2 第一个C#程序
2.2.1 代码
在文本编辑器上输入:(后辍名为cs)
using System;
namespace Wrox{
public class MyFirstClass{
static void Main(){
Console.WriteLine("Hello from Wrox.");
Console.ReadLine();
return;
}
}
}
2.2.2编译与运行程序
1:设环境变量,在cmd运行
2:用vs里的Visual Stdio Tools 下的子菜单里的vs开发人员命令提示符
csc First.cs (编译) (注:在对准文件相对路径哦,像Java一样)
First.exe (运行)
2.2.3详细介绍
//单行注释
/*多行注释*/
using System; //为了使用库类System.Console
不用using,可直接:System.Console.WriteLine("");
namespace Wrox 声明了应与类相关的名称空间。
标准的System名称空间包含了最常用的.NET类型。
System中的Console用于控制台窗口输入和输出
class MyFirstCSharpClass{} //声明一个类
public static void Main(){} //Main程序入口
该方法没有返回值,或是返回一个整数
其它太简单略
2.3变量
int i; 变量声明
其它略
2.3.1变量的初始化
变量在类或结构中的字段,如没有显式初始化,则默认为0
方法的局部变量必须在代码中显式初始化(像其它语言一样)
2.3.2类型推断
使用var关键字 (第一次在这类的程序语言中见var啊)
int someNumber=0;
变成 var someNumber=0;
例子:
using System;
namespace Wrox{
class Program{
static void Main(string[] args){
var name="Bugs Bunny";
var age=25;
var isRabbit=true;
Type nameType=name.GetType();
Type ageType=age.GetType();
Type isRabbitType=isRabbit.GetType();
Console.WriteLine("name is type " + nameType.ToString());
Console.WriteLine("age is type "+ageType.ToString());
Console.WriteLine("isRabbit is type "+isRabbitType.ToString());
}
}
}
输出:
name is type System.String
age is type System.Int32
isRabbit is type System.Boolean
规则:
1:变量必须初始化
2:初始化器不能为空
3:初始化器必须放在表达式中
4:不能把初始化器设置为一个对象,除非在初始化器中创建了一个变量
2.3.3 变量的作用域
与其它语言差不多,各种略
注:不能在同一作用域定义两个相同名字的变量
2.3.4 常量
const 简单略
2.4预定义数据类型
……各种整型与浮动型等,略
注:C#认可的基本预定义类型没有内置于C#语言中,而是内置于.NET Framework中。
CLR通过CTS(通用类型系统),实现严格的类型和代码验证,来增强代码鲁棒性。
2.4.4预定义的引用类型
object(CTS类型是System.Object)。
可以使用object引用绑定任何子类型的对象。以后细说object。
string(System.String)亦是引用类型
string初始化事项,与其它语言差不多,简单略
string s=@"a\a";用@表示字符串中没转义。
2.5流程控制
2.5.1
1.if语句略
2.switch语句也略
2.5.2 循环更略
2.5.3
goto名声差
break continue return全略略
各种跳过与略,进度45页,1517-45=1472页 2014.12.2
第一天:
前注:
最近想学C#了,于是便买了一本《C#高级教程》,不过书太厚了,一千五百多页,肿么办,我想快点啃完这本书。两个月怎么样(最起码在过年前)。好吧,60天,1500页,一天25页,假设一页10分钟,那么一天四个小时,呵呵了……(大二很多课,而且快学期末要复习,难度不小)
第一章:.NET体系结构
1.1 C#与.NET的关系
C#依赖.NET,但C#只是一门语言,本身不是.Net的一部分。
C#编译器专门用于.NET,这表示用C#编写的代码总是在.NET Framework中运行。
1.2 公共语言运行库
.NET Framework的核心是其运行库执行环境,称公共语言运行库(CLR)或.NET运行库。
在CLR控制下运行的代码称为托管代码(managed code)。
在.NET中编译分为
1:将源代码编译为Microsoft中间语言(IL)。
2:CLR把IL编译为平台专用的代码。
1.2.1 平台无关性
略。
1.2.2 提高性能
(我还没学编译原理这门课,所以不懂,略)
1.2.3 语言的互操作性
各种语言交互,有VB,VC++,COM和COM+,Windows运行库。
略。
1.3 中间语言
1.3.1 面向对象和接口的支持
……
(不行了,后面的内容对现在的我太复杂了,硬看了看完即忘,还是以后再算了,跳到第二章)
第二章:
2.1 C#基础
2.2 第一个C#程序
2.2.1 代码
在文本编辑器上输入:(后辍名为cs)
using System;
namespace Wrox{
public class MyFirstClass{
static void Main(){
Console.WriteLine("Hello from Wrox.");
Console.ReadLine();
return;
}
}
}
2.2.2编译与运行程序
1:设环境变量,在cmd运行
2:用vs里的Visual Stdio Tools 下的子菜单里的vs开发人员命令提示符
csc First.cs (编译) (注:在对准文件相对路径哦,像Java一样)
First.exe (运行)
2.2.3详细介绍
//单行注释
/*多行注释*/
using System; //为了使用库类System.Console
不用using,可直接:System.Console.WriteLine("");
namespace Wrox 声明了应与类相关的名称空间。
标准的System名称空间包含了最常用的.NET类型。
System中的Console用于控制台窗口输入和输出
class MyFirstCSharpClass{} //声明一个类
public static void Main(){} //Main程序入口
该方法没有返回值,或是返回一个整数
其它太简单略
2.3变量
int i; 变量声明
其它略
2.3.1变量的初始化
变量在类或结构中的字段,如没有显式初始化,则默认为0
方法的局部变量必须在代码中显式初始化(像其它语言一样)
2.3.2类型推断
使用var关键字 (第一次在这类的程序语言中见var啊)
int someNumber=0;
变成 var someNumber=0;
例子:
using System;
namespace Wrox{
class Program{
static void Main(string[] args){
var name="Bugs Bunny";
var age=25;
var isRabbit=true;
Type nameType=name.GetType();
Type ageType=age.GetType();
Type isRabbitType=isRabbit.GetType();
Console.WriteLine("name is type " + nameType.ToString());
Console.WriteLine("age is type "+ageType.ToString());
Console.WriteLine("isRabbit is type "+isRabbitType.ToString());
}
}
}
输出:
name is type System.String
age is type System.Int32
isRabbit is type System.Boolean
规则:
1:变量必须初始化
2:初始化器不能为空
3:初始化器必须放在表达式中
4:不能把初始化器设置为一个对象,除非在初始化器中创建了一个变量
2.3.3 变量的作用域
与其它语言差不多,各种略
注:不能在同一作用域定义两个相同名字的变量
2.3.4 常量
const 简单略
2.4预定义数据类型
……各种整型与浮动型等,略
注:C#认可的基本预定义类型没有内置于C#语言中,而是内置于.NET Framework中。
CLR通过CTS(通用类型系统),实现严格的类型和代码验证,来增强代码鲁棒性。
2.4.4预定义的引用类型
object(CTS类型是System.Object)。
可以使用object引用绑定任何子类型的对象。以后细说object。
string(System.String)亦是引用类型
string初始化事项,与其它语言差不多,简单略
string s=@"a\a";用@表示字符串中没转义。
2.5流程控制
2.5.1
1.if语句略
2.switch语句也略
2.5.2 循环更略
2.5.3
goto名声差
break continue return全略略
各种跳过与略,进度45页,1517-45=1472页 2014.12.2