C#程序结构包括:注释块、命名空间、类、方法、标识符、关键字、语句

命名空间:

命名空间(Namespace)就是把功能相同的类放到一块c#打印,用来组织和重用代码,C#程序结构中每个命名空间相当于一个逻辑结构的仓库,C#程序是利用各种命名空间组织起来的,而实际上命名空间能将同名的类分开。它好比一个文件夹,把不同性质的内容放到不同文件夹里面,每一个文件夹里面还可以有很多文件夹,形成分层结构,即使两个文件名重名,你也能够通过文件夹找到它们,就不会混淆不清了。先来看看命名空间代码:

//System命名空间是系统已经定义好的命名空间,包含用于定义常用值和引用数据类型、事件和事件处理程序、接口、特性以及处理异常的基础类和基类。
using System;
//引用System.Data表示你需要使用数据、数组,可以直接使用数组类型,而不需要再添加前缀
using System.Data;
//用户自己定义的命名空间
using namespace2;
//System.Collections.Generic命名空间,包含处理集合的泛型类型
using System.Collections.Generic;
//可以使用类似SQL的语法来查询数据
using System.Linq;
//using System.Text空间,包含与字符串处理和编码相关的类型
using System.Text;
//using System.Windows.Forms,使用窗体内置的各种控件、事件类
using System.Windows.Forms;

命名空间分为两类:用户定义的命名空间和系统定义的命名空间

用户定义的命名空间:就是用户自己在代码中定义的命名空间

系统定义的命名空间:你可以使用关键字using来调用系统已经定义好的命名空间

using System命名空间:是系统已经定义好的命名空间,包含用于定义常用值和引用数据类型、事件和事件处理程序、接口、特性以及处理异常的基础类和基类

using System.Data命名空间:引用System.Data表示你需要使用数据、数组,可以直接使用数组类型,而不需要再添加前缀。如果没有引用System.Data,当你需要定义一个数据表类型的变量需要加前缀:System.Data.DataTable dataTable = new System.Data.DataTable();如果引用了System.Data,则你就不用加前缀:DataTable dataTable = new DataTable();

using System.Collections.Generic命名空间:System.Collections.Generic命名空间,包含处理集合的泛型类型

using System.Linq命名空间:Linq是在.NET Framework 3.5 中才出现的技术,它提供支持使用语言集成查询 (LINQ) 进行查询的类和接口,借助于LINQ技术,你可以使用类似SQL结构化查询的语法格式来查询任何形式的数据,它的出现大大提高了程序查询和处理数据的能力和效率,对于一个数据库高手来讲,它的出现简直就是福音

using System.Text命名空间:using System.Text命名空间提供常用的字符串操作,包含与字符串处理和编码相关的类型

控制台应用程序:打开VS软件创建控制台应用程序,键入代码

using System;
namespace namespace1//用户命名空间
{
    class Program//用户定义的类,实现某一特定功能
    {
        static void Main(string[] args) //程序入口
        {
            Console.WriteLine("命名空间的学习和理解");//实现输出一条信息
        }
    }
}

运行程序:

c语言 定义一个打印矩形的函数_c#打印_c打印日志代码

这里面用到了System命名空间下的Console类,System中已经定义好了Console类,如果你不在前面使用using System,这里面就要用到它的完全限定名称了System.Console.WriteLine()

用户自己定义的命名空间中的类

using System;
using namespace2;//用户自定义的命名空间
namespace namespace1
{
    class Program
    {
        static void Main(string[] args) //程序入口
        {
            p2 n = new p2();//对用户自己定义的类进行实例化
            n.s1();//使用用户自己定义的类中的方法
        }
    }
}
namespace namespace2//用户自己定义的命名空间
{
    class p2//用户自定义的类
    {
        public  void s1()//用户自定义的类中的方法
        {
            Console.WriteLine("使用用户自己定义命名空间中的类");//输出一条信息,这里用到了系统命名空间中的Console类
            Console.ReadLine();
        }
    }
}

运行程序:

c语言 定义一个打印矩形的函数_c打印日志代码_c#打印

控制台程序输出

如果你在前面不引用用户自定义的命名空间:using namespace2,程序就会报错:

c语言 定义一个打印矩形的函数_c打印日志代码_c#打印

错误信息

C#的类,是一种数据结构,装着各种成员,它是C#语言的核心和基本构成模块,它的最大的特色是,用户不仅可以使用系统已经定义好的类,也可以使用用户根据自己需要自己定义的类。

当你在使用新的类之前,必须要事先声明这个类,声明类的关键字是class,上文就有声明p2类的代码:

class p2//用户自定义的类
    {
        public  void s1()
        {
            Console.WriteLine("使用用户自己定义命名空间中的类"); 
            Console.ReadLine();
        }
    }

main方法

main方法是程序的入口处,C#程序中必须包含一个,而且是唯一的一个main方法,它也是一个类的成员,由于程序启动时,还没有创建类的对象,所以它必须是静态的,上面main方法的修饰符static表示main方法是一个静态方法,调用这个方法不能使用实例化对象,而是直接使用类名来调用,void表示这个方法没有返回值

static void Main(string[] args)
        {
            p2 n = new p2();
            n.s1();
        }

Console类的两个方法

C#环境下,在Console类中提供了两个输出字符串的方法:

Write方法:Console.Write不输出换行

c打印日志代码_c语言 定义一个打印矩形的函数_c#打印

控制台程序不输出换行

WriteLine方法: Console.WriteLine输出换行

c语言 定义一个打印矩形的函数_c打印日志代码_c#打印

控制台程序输出换行

Console.WriteLine:

标识符和关键字

标识符就是系统或者用户自定义的类、方法或者变量的名称,上文的Console、namespace1、s1等都是标识符,标识符的书写有几个规则:

一是:标识符只能由数字、字母和下划线组成;

二是:它必须以字母或者下划线开头;

三是:它不能是关键字,所谓的关键字就是系统的保留字,上文的static、void和public都是关键字,这些关键字不能够命名标识符;

代码注释块

为了方便写的代码具有可读性,代码注释块是经常使用的,编译器在编译程序时不执行注释块中的内容,注释块有三种:

一是:单行注释,使用“//”;

二是:多行注释,使用“/*…*/”;

三是:给代码段添加说明,使用“///”给一段代码来添加说明

C#Windows窗体工作环境

C#工作界面有:工具箱、资源管理器、属性窗口和程序代码编辑区、菜单和工具栏等。

工具箱:

左侧的工具箱存放着多种控件,点击上面的Auto Hide图标,自动隐藏图标,工具箱就会固定到环境的左侧,可以更方便我们来取用各种控件:

c#打印_c语言 定义一个打印矩形的函数_c打印日志代码

工具箱

控件按不同类别进行分类存放,Common Controls公共控件、Components组件、Printing打印和Dialogs对话框等多种类别:

c语言 定义一个打印矩形的函数_c打印日志代码_c#打印

工具箱中的控件

资源管理器:

解决方案资源管理器在右上侧,解决方案名称会根据所创建的项目来产生,由于是Windows窗体应用程序,因此会产生跟窗体有关的程序,即与Windows窗体有关的文件:

c打印日志代码_c#打印_c语言 定义一个打印矩形的函数

资源管理器

属性窗口:

属性窗口提供窗体对象或控件的属性设置,通过属性窗口提供两种功能,即属性和事件。

你可以通过属性窗口,对窗体和加入窗体上的一切控件进行设置,而且这些需要设置的属性可以按照一定的的顺序进行排列,如按分类排序Categorized、按字母顺序Alphabetical、属性Properties和事件Events:

c打印日志代码_c语言 定义一个打印矩形的函数_c#打印

属性窗口

属性列表由相关属性名称组成,控件不同属性列表也不相同,当鼠标点击某一特定属性行时,则在属性窗口的最下方会简单提示该属性值所代表的意义,如BackColor下面就有提示信息The background color of the component,表示组件的背景颜色:

c打印日志代码_c#打印_c语言 定义一个打印矩形的函数

属性窗口

你可以通过点击事件Events来使属性窗口按事件分类来显示:

(1)单击字母顺序Alphabetical按钮;

(2)单击事件Events按钮,目的为某个事件编写程序代码;

(3)用鼠标点击某一事件,双击即进入程序代码编辑区,创建了此事件的程序段;

下面是对Click事件进行双击,进入程序代码编辑区,Click事件的简单提示Occurs when the component is clicked,就是当组件被单击的时候发生:

c#打印_c语言 定义一个打印矩形的函数_c打印日志代码

事件窗口

程序代码编辑区:

以Windows窗体来编写应用程序时,必须针对某一个控件对象来编写,如果要让窗体单击时执行一些操作,就得进入程序代码编辑区。

(1)选择窗体,找到属性窗口的Click事件:

c打印日志代码_c语言 定义一个打印矩形的函数_c#打印

(2)Click右侧显示Form1_Click事件,表示要在窗体上单击来触发的事件处理程序:

c打印日志代码_c#打印_c语言 定义一个打印矩形的函数

(3)用鼠标双击Form1_Click,则进入了程序代码编辑窗口,框住的区域是新加入的Form1_Click事件:

c打印日志代码_c#打印_c语言 定义一个打印矩形的函数

创建窗体界面

在窗体上加入一个label控件和两个button控件,label控件负责你想要显示的内容,button控件一个是用来触发事件让label控件显示相应内容,另一个是触发事件让程序关闭。

先介绍几个常用的控件:

Label控件:它是标签控件,可以用来显示窗体界面上的文字

Textbox控件:这是个文本框控件,它能够让用户输入内容

Button控件:我们最熟悉的按钮控件,单击后可以触发某个事件过程,我们程序执行的触发多数靠它来完成

无论是窗体还是控件,在windows窗体应用程序中都是对象,所以都可以对这些对象进行属性的设置。

Form1:设置text和font属性,text可以让窗体在标题栏显示相应的内容,font可以设置字体的颜色

Label:设置name和forecolor属性,name是标签的名称,方便我们在程序中使用它,forecolor是标签的前景色

Button:设置name和text属性,name是给button按钮一个名称,text可以在button按钮上显示相应的内容

在窗体上加入控件:

加入控件有两种方法:

①你可以通过双击控件进行添加,控件自动显示到窗体的左上方;

②你也可以对控件进行拖拽到窗体的任意位置上;

c打印日志代码_c#打印_c语言 定义一个打印矩形的函数

窗体界面

当你用上面的方法将控件放到窗体上后,可以对控件进行布局的排列和对齐:

①可以通过窗体上的参考控制线进行对齐和排列;

c#打印_c打印日志代码_c语言 定义一个打印矩形的函数

窗体界面布局

②也可以利用布局工具栏;

c打印日志代码_c语言 定义一个打印矩形的函数_c#打印

窗体界面布局

设置控件外观:

每个加入到窗体中的控件都有各种各样的属性,在属性窗口以categorized分类进行显示,分类显示可以将性质相近的属性排列在一块,方便进行查找和定位:

c#打印_c打印日志代码_c语言 定义一个打印矩形的函数

属性窗口分类显示

与控件外观有关的属性有backcolor背景色、borderstyle框线样式、font字体、forecolor前景色,它们都在appearance外观下:

c打印日志代码_c#打印_c语言 定义一个打印矩形的函数

属性窗口分类

对label1标签控件进行设置,将borderstyle框线样式设置为单线,效果如下:

c语言 定义一个打印矩形的函数_c#打印_c打印日志代码

窗体界面

你也可以鼠标点击窗体后,对窗体上的字体大小等进行设置,包括窗体上的任何控件上的字体:

c语言 定义一个打印矩形的函数_c#打印_c打印日志代码

布局设计

你也可以为label1选择字体颜色,在属性窗口对forcolor前景色进行相应色彩设置,色彩当中提供了三种,我们可以选择custom自定义样式,这里面的色彩比较多:

c打印日志代码_c语言 定义一个打印矩形的函数_c#打印

设置控件属性:

你还可以对控件的name和text属性进行更改,每个加入到窗体的控件都有name属性,当我们在编写程序代码时可以用到它的name名称,就是来识别不同的控件,这里面窗体的name是form1,上面的两个button控件的name分别是button1和button2,为了编写代码方便我们通常将name设置成符合实际意义的名称,而另一个text属性易与name相混淆,虽然他们看着很类似,其实它们有着本质上的区别,一个属于展现给用户的内容,一个是后台识别的id,它们都是通过属性窗口进行设置修改的。

Text属性设置:点击要修改text属性的控件→在appearance下找到text属性→键入要显示的文字内容,下面是对button和label的text属性进行修改和设置:

c#打印_c语言 定义一个打印矩形的函数_c打印日志代码

c打印日志代码_c语言 定义一个打印矩形的函数_c#打印

name属性设置:点击要修改name属性的控件→在design下找到name属性→键入控件的名称,下面是对button的name属性进行了修改和设置c#打印,可以看到显示的内容没变,只是其表征身份的名称发生了改变,我们在编写代码时用到的是“btnShow”,而不是“单击”:

编写程序代码并运行:

对控件的基本设置完成以后,我们就要加入程序代码,实现按钮的单击和结束功能,我们要实现的有两个功能:

1、点单击按钮,让label控件显示相应内容,也就是改变label的text属性

2、点结束按钮,结束并关闭程序

而上面这种通过程序代码响应或者处理的操作就是事件处理程序event handlers,其语法格式为:

private void 控件名称_事件(object sender,EventArgs e)
{
//程序语句
}
如果通过单击button按钮来实现,则语句为:
private void btnShow_Click(object sender,EventArgs e)
{
//程序语句;
}

这里面每个事件处理程序都有两个参数,sender提供触发事件的对象引用,e用来传递要处理事件的对象。

编写实现第一个功能的代码,双击button按钮进入代码编辑区,可以看到我们在编写代码时系统会有自动提示,这就大大方便了我们写代码的效率,从下拉列表中选择想要的对象或者属性即可:

c打印日志代码_c#打印_c语言 定义一个打印矩形的函数

最后完整的代码是:

再来编写实现第二个功能的程序代码,同理进入到窗体界面双击button结束按钮:

c语言 定义一个打印矩形的函数_c#打印_c打印日志代码

进入到了我们第二功能代码的编写区域:

c打印日志代码_c#打印_c语言 定义一个打印矩形的函数

这里面的按钮我们并没有为它重新命名,而是我们在创建按钮时使用自动创建的名称tutton2,这不会影响我们对程序代码的编写:

c语言 定义一个打印矩形的函数_c#打印_c打印日志代码

运行程序“Ctrl+F5”,点击“单击”按钮后label出现了相应的内容,单击结束则退出程序:

c#打印_c语言 定义一个打印矩形的函数_c打印日志代码

结语:有感兴趣的关注、收藏、点赞、转发

限时特惠:本站每日持续更新海量设计资源,一年会员只需29.9元,全站资源免费下载
站长微信:ziyuanshu688