第一章
一、创建控制台应用程序。
控制台应用程序是在命令执行窗口而不是图形用户界面中运行的一个应用程序。
内容补充:(以TextHello为例)
1.解决方案“TextHello”:最顶级的解决方案。后缀为.sln
2.TextHello:C#项目,引用一个或多个包含项目源代码以及其他内容的文件。
3.Properties:这是TextHello项目中的一个文件夹。展开包含一个AseemblyInfo.cs的文件,该文件可为程序添加属性(attribute),如作者姓名和程序编写日期、版本等。
4.引用:包含对已经编译好的一些代码的引用。代码编译好后会转换成一个“程序集”
5.App.config:应用程序配置文件。
6.Program.cs:C#源文件。该文件定义了一个Program的类(class),并且包含一个Main的方法,所有方法必须在一个类的内部定义。Main方法指定了程序的入口点。
7.Console是一个内建类(“Hello World”);提供可以在屏幕上显示消息或者从键盘获取输入的方法。Eg: Console.WriteLine(“hello world”);//显示
Console.ReadLine( );//等待用户按Enter键。
8.运行并生成解决方案。开始执行(不调试)执行的是Debug下的.exe程序。
9.使用命名空间:避免造成不同库之间重复名称的冲突。
过去程序员通过添加某种形式的限定前缀来解决名称冲突问题。但不具备扩展性。
命名空间(namespace):在命名空间中定义本项目所用的类以及方法等的名称,
如:namespace TextHello
{
class Greeting
{
。。。。。。
}
}//即在自己的程序中需将Greeting类引用为TextHello.Greeting,从而避免与应用的第三方的库中可能存在的Greeting类冲突。
当然可以利用添加限定符前缀的方法,来引用。如利用using System;
即利用在System命名空间中的类,直接引用为Console来简化System.Console的写法 。
二、创建图形应用程序(Windows窗体和WPF应用程序)
1.“工具箱”标签:包含了可以放到Windows窗体和WPF应用程序中的各种组件和控件。
2.生成App.xaml的描述包含.cs文件。
3.Grid网格:类似于一个容器,包含了所有WPF窗体上的各各项。
4.控件:Label(标签) 、TextBox(文本框)、Button(按钮)、
5.属性:Content(值)、FontSize(字体)等。
6.MainWindows.xaml下包含MainWindows.xaml.cs文件,为窗体的生成代码。
7.程序入口为App.xaml下的StarupUri的属性,引用了Main Windows.xaml.
第二章
一、语句
二、标示符(C#中包含77个原始标示符):对程序中各元素进行标识的名称。如命名空间、类、方法、变量等。只能使用字母(大小写)、数字和下划线,必须以一个字母或者下划线开头。
三、变量:容纳了一个值的存储范围。
1.命名变量:特别的在包含多个单词时,从第二个单词开始采取首字母大写形式(cameClass记号法)。
2.声明变量:同C语言。
四、数据类型:int、long、float、double、decimal、string、Char、Bool。
1.明确赋值规则:C#不允许使用未赋值的变量,必须先赋值再使用,可以避免产生Bug。
2.显示基本的数据类型:略。特别的文本框只可显示String 的值。
五、算术操作符:
特别的在C#中%可以计算小数,如7.0%2.4=2.2.
六、练习使用文档大纲。(视图——其它文档——文档大纲)。
七、使用int.Parse(“String”);将文本框内的字符串转换成整数。如System.Int32.Parse(XXXX.Text);
使用ToString();将int型转换成String。
八、优先级:* 、/、%优先级高于+、—。
九、赋值:可连续赋值,即连等号。可将变量声明与变量赋值同时使用,也可分两句写。
十、声明隐式类型的局部变量。借用Var关键字:var myVariable=99;
第三章
一、创建方法:
1.声明格式:
returnType methodName ( parameterList)
{
//添加方法主体。
}
注释:returnType指定了方法的返回类型为任意类型,int、float等均可。也可用关键字Void来制返回类型为空,或直接用int指定返回类型为int。methodName(方法名)、parameterList(参数列表)。
2.从方法返回数据:return
二、调用方法:result=methodName(argumentList);
三、作用域:
1.局部作用域:在在方法的内部定义的变量为局部变量,此变量不能在其他方法中使用。
2.类的作用域:在类中定义的变量,又叫字段。在不同方法中可以使用类中定义的字段。
3.重载方法:如果一个方法的实现有不同的参数集,就可依靠不同的参数数量或者参数类型,重载该方法,尽管都用到相同的方法名。
四、编写方法:
1.开发应用程序逻辑:先编写外围的应用程序。
2.利用右键——生成——方法存根来创建方法,修改编写该方法。
五、调试。右键选择——运行到光标处。
快捷键F11:逐句的 F10:逐过程 Shift+F11:跳出
六、定义可选参数:在定义方法时指定了一个参数具有默认值,则该参数为可选参数。应用时可以省略此参数。
传递命名参数:将参数写成 参数名:传递的值。
可选参数与命名参数歧义的消除:编译器会选择最匹配的版本来点用方法,存在歧义将会报错。
第四章
一、声明布尔变量:(只包含false和ture)
Bool areYouReady;
areYouReady=ture;
Console.WriteLine( areYouReady);//输出ture
二、短路求值:同C语言判断与或表达式值,只用前面的结果就可得到答案,无须进行后面的运算一样。
三、If与Swith用法:同C。
第五章
一、FileInfo (类):提供创建、复制、删除和打开文件(OpenText)的方法。
二、TextReader (类):从文件中读取字符流。包含方法有ReadLine(读)、Close(关闭)。
第六章
一、异常的支持:
代码放于try块中, 在块try中产生异常,就回进入catch可以捕捉FormatException异常、OverflowExcept异常等的块中,进行异常处理。
二、异常的处理:try块中产生异常,在就近的catch块中查找匹配的异常,如果不匹配,则返回上一级的调用处,找到匹配的异常处理后,然后从捕捉到异常的方法的catch处理程序之后的第一个语句继续执行。
三、捕捉多个异常:catch(Except ex);
四、Checked和Unchecked块语句进行溢出检查与否,来判断是否抛出OverflowException 异常。
五、抛出异常:throw new 异常名(“异常描述”);
Catch(异常名,参数)
{异常处理;
}
六、finally块的使用:确保关键代码不受异常影响造成不执行。可在try或者catch后紧接着写finally块来执行关键代码。