• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > C#语言初级入门介绍

C#语言初级入门介绍

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了c站,欲情 c max,c语言,crh2c,奔驰c200等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
 
本文的目的在于为尚未接触过C#的程序员介绍这种编程语言。不论你以前是否用过C/C++或者Java,都可以从本文开始学习C#。本文的唯一假定是你具有某种类型的编程知识(如具有面向对象编程的经验则更好,但并非必须),并拥有某种类型的C#编译器。
最简单的C#程序

首先我们来看标准的Hello World程序。用文本编辑器创建一个新文件HelloWorld.cs,把下面的代码放入这个文件:


// 第一个c#程序

class HelloWorld {
static void Main() {
System.Console.WriteLine("Hello World!");
}
}

现在,在DOS命令窗口进入保存HelloWorld.cs的目录,然后执行:


csc HelloWorld.cs

 

该命令编译源代码并生成HelloWorld.exe文件。运行这个执行文件就可以看到:
Hello World!

下面我们来分析一下这个例子。第一行代码是一行注释,由“//”开始。和C/C++以及Java一样,“//”告诉编译器忽略该行直至结尾为止的内容。C#中的另外一种注释方法是块注释。块注释由“”结束。

程序中第二个重要的地方是第四行Main()方法的声明(static void Mian(){)。每一个C#程序都包含一个Main方法,它是程序执行的起点和终点。另外还请注意,HelloWorld类的Main()方法定义成了静态(static)方法。程序的Main方法永远不会是全局的,这意味着Main方法必须包含在类里面,如本例中Main()是在类HelloWorld里面(Main方法也可以包含到结构里面,但一般它总是在类里面)。

程序中最后一个关键的地方是向控制台输出文本的代码,即“System.Console.WriteLine("Hello World!");”。WriteLine是一个方法,定义于Console类。WriteLine()把文本输出到标准输出设备并换行。Console类包含在System名称空间(类的集合)里面。如果你想避免用“System.Console”的方式来指出Console类的全称,可以在文件的开头加上“using System;”这行代码,以后就可以直接写出“Console.WriteLine("Hello World!");”。

下面这个例子示范如何创建和使用用户定义的类以及如何创建动态链接库。利用文本编辑器创建两个文件。第一个是Apple.cs,内容如下:
public class Apple {

private string variety = "";

public Apple(string appleVariety) {
this.variety = appleVariety;
}

public void outputVariety() {
System.Console.WriteLine(variety);
}

}

 

第二个文件是Example2.cs,内容如下:


class Example2 {

static void Main() {
Apple mac = new Apple("Macintosh ");
Apple gra = new Apple("Granny Smith");
Apple cor = new Apple("Cortland");
mac.outputVariety();
gra.outputVariety();
cor.outputVariety();
}
}

 

首先,我们定义了一个新的用户定义类,名字为Apple。虽然Apple类并不一定要放到独立的文件中,但把每个类都放到自己独立的文件中是一个好的面向对象编程习惯,有助于简化组织和管理。我们为Apple类的声明加上了public修饰符(public class Apple),这样其他类就可以创建Apple类的实例。

下一行代码定义了实例变量variety。使用了修饰符private之后,只有在Apple类的内部才可以直接访问variety变量。这是一种常见的面向对象编程习惯,称为封装。封装之后,对象的工作细节对于对象的用户来说就隐藏不可见了。你现在正使用的键盘就是封装在现实世界中一个很好的例子。我们并不完全了解键击如何发送到控制器(我们之中的大多数都不知道),但只要理解它的接口如何运作就可以了。例如我们知道,打开文本编辑器,按下键盘上的“&”键,“&”字符就会出现在屏幕上。如果每一个人都必须了解键盘的工作细节而不是只要了解它的接口,我们之中不会有很多人使用它。

接下来的三行代码是:


public Apple(string appleVariety) {
this.variety = variety;
}

 

这三行代码定义了Apple类的构造函数。类的构造函数类似一个描述如何创建类实例的蓝图。我们能够很容易地将构造函数和类里面的其他方法区分开来,因为构造函数总是和类具有相同的名字。在本例中,类Apple的构造函数有一个字符串参数,这个参数值随后被保存到实例变量variety。

Apple类的最后一个方法是outputVariety()。这个方法为访问实例变量提供了接口,所以称为存取方法(Accessor Method)。

下面我们来看Example2类。这个例子与前文例子的区别在于要创建并使用用户定义类Apple的实例。我们用new操作符创建了三个Apple类的实例。创建类的实例时,我们无需显式地调用类的构造函数,new操作符将自动为我们调用类的构造函数。创建了三个Apple类的对象之后,我们依次调用这三个对象的outputVariety方法,由outputVariety方法输出这三个对象里variety的值。

下面我们来编译和运行这个例子。首先我们要把Apple类编译成动态链接库,命令如下:


csc /target:library Apple.cs

 

/target:library表示不要创建执行文件,而是创建一个.dll文件(即动态链接库)。所以,上面的命令将生成一个Apple.dll文件。

接下来我们编译Example2.cs,编译命令如下所示:


csc /reference:Apple.dll Example2.cs

 

现在我们得到了执行文件Example2.exe。执行这个文件可以在控制台上看到如下输出:


Macintosh
Granny Smith
Cortland

在这最后一个例子中,我们来看看C#的抽象和多态性。首先我们来定义一下这两个新的术语。抽象(Abstract)通过从多个对象提取出公共部分并把它们并入单独的抽象类中实现。在本例中我们将创建一个抽象类Shape(形状)。每一个形状都拥有返回其颜色的方法,不论是正方形还是圆形、长方形,返回颜色的方法总是相同的,因此这个方法可以提取出来放入父类Shape。这样,如果我们有10个不同的形状需要有返回颜色的方法,现在只需在父类中创建一个方法。可以看到使用抽象使得代码更加简短。

  在面向对象编程领域中,多态性(Polymorphism)是对象或者方法根据类的不同而作出不同行为的能力。在下面这个例子中,抽象类Shape有一个getArea()方法,针对不同的形状(圆形、正方形或者长方形)它具有不同的功能。

   下面是代码:


public abstract class Shape {
protected string color;
public Shape(string color) {
this.color = color;
}
public string getColor() {
return color;
}
public abstract double getArea();
}

public class Circle : Shape {
private double radius;
public Circle(string color, double radius) : base(color) {
this.radius = radius;
}
public override double getArea() {
return System.Math.PI * radius * radius;
}
}

public class Square : Shape {
private double sideLen;
public Square(string color, double sideLen) : base(color) {
this.sideLen = sideLen;
}
public override double getArea() {
return sideLen * sideLen;
}
}

public class Example3
{
static void Main()
{
Shape myCircle = new Circle("orange", 3);
Shape myRectangle = new Rectangle("red", 8, 4);
Shape mySquare = new Square("green", 4);
System.Console.WriteLine("圆的颜色是" + myCircle.getColor()
+ "它的面积是" + myCircle.getArea() + ".");
System.Console.WriteLine("长方形的颜色是" + myRectangle.getColor()
+ "它的面积是" + myRectangle.getArea() + ".");
System.Console.WriteLine("正方形的颜色是" + mySquare.getColor()
+ "它的面积是" + mySquare.getArea() + ".");
}
}

我们创建的第一个类是Shape。这是一个抽象类,因为我们不想创建这个类的实例,我们要创建的是它的派生类的实例。我们从所有的形状(圆、长方形、正方形)提取出共同特征到Shape类。Shape类有一个实例变量color,它的变量声明中带有protected修饰符。protected修饰符表示这个变量只能在类的内部或者该类的派生类中访问。紧接这个变量声明的就是Shape类的构造函数和存取方法getColor(),这两个方法都没有什么新的东西。最后一个方法getArea()加上了abstract修饰符,这是因为每一种不同的形状都有不同的面积计算方法,因此这个方法必须由各种形状自己来定义。

  接下来的三个类Circle、Rectangle和Square都从Shape类派生,
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#开发微信 二维码鼠标滑动 图像显示隐藏效果(推荐)
  • C#开发微信 二维码鼠标滑动 图像显示隐藏效果(推荐)
  • C#.net 微信公众账号接口开发
  • C#实现把图片下载到服务器代码
  • C#将DataTable转化为List<T>
  • C#中OpenFileDialog和PictrueBox的用法分析
  • c#网站WebConfig中域名引用示例介绍
  • C#中的switch case使用介绍
  • C#随机生成不重复字符串的两个不错方法
  • C# 判断两张图片是否一致的快速方法

相关文章

  • 2017-05-11asp.net 截取字符串代码
  • 2017-05-11如何将数据绑到gridview然后导成excel
  • 2017-05-11ASP.NET(C#) Web Api通过文件流下载文件的实例
  • 2017-05-11详谈.NET的异常处理
  • 2017-05-11asp.net mvc发送邮件实例讲解
  • 2018-08-20ASP.NET MVC Admin主页快速构建
  • 2017-05-11asp.net 打印控件使用方法
  • 2017-05-11aspx中的mysql操作类sqldatasource使用示例分享
  • 2017-05-11asp.net4.0框架下验证机制失效的原因及处理办法
  • 2017-05-11asp.net实例代码protected override void Render(HtmlTextWriter writer)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • JSON在ASP.NET中使用方法
    • 不能忽略c#中的using和as操作符的用处
    • 在.NET使用JSON作为数据交换格式实例演示
    • asp.net中MD5 16位和32位加密函数
    • ASP.NET中RadioButtonList绑定后台数据后触发点击事件
    • asp.net 冒泡算法的理解
    • asp.net 根据汉字的拼音首字母搜索数据库(附 LINQ 调用方法)
    • updatepanel用法之triggers使用示例
    • 生成二维码的开源工具对比(附源码)
    • .Net Core 之 Ubuntu 14.04 部署过程(图文详解)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有