一、C#语言的简单介绍
根据微软官网的介绍,C#是为.NET平台量身订做的一种面向对象的语言,它与Java类似都属于从C++演变(提取了C++的优点,抛弃了一些困扰开发人员的底层操作)而生的语言,同时作为.NET平台的主打语言C#也吸取了其他语言的一些特性,如:VB6的类属性。
C#就像是C++,Java,VB6,这些语言的混合体一样,吸取了多种语言的精华于一身,那么来看看C# 都有那些优点吧:
1.C#是完全面向对象的语言,使用面向对象的思想让我们可以利用现实世界事物模型来描绘我们计算机软件的开发模型,让我们的代码更有条理,更好的分工,与维护。
2.C#抛弃了如C++中的的指针,是程序开发复杂度大大的降低,另外还提供了垃圾回收器来管理内存,程序员无需在像用C++的delete关键字来销毁内存。无需关心内存的释放问题降低开发的复杂度。
3.支持基于接口编程技术,可以实现松耦合的系统,方便以后对软件的升级与扩展。等等就列举啦!
二、我的第一个C#程序
你猜对了!就是Hello World。好的,打开 Microsoft Visual Studio 开发工具
第一步:左上角 点击:文件->新建->项目
第二步,在弹出的对话框左边的树菜单中选择:Visual C# -> 控制台应用程序 -> 名称命名为MyHelloWorld
第三步:在编辑区域中键入如下代码
我的第一个程序HelloWorld
using System;
namespace MyHelloWorld
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World...");
}
}
}
第四步 Ctrl + F5 运行,运行效果如下:
这样就在控制台就输出了一句话为:Hello World..... 那么我们的第一个程序就完成了。接下来初步的分析一下它吧.
三、初步分析我的第一个C#程序
1.首先来看第一行代码:
using System;
这行代码的意思就是导入名为系统的命名空间。这个时候你就会问啦,什么是命名空间?
命名空间:命名空间就是一个程序局内相关类型的一个分组。<来自于 C# 和 .NET 3.0高级程序设计>
举个例子吧:
比如 笔 本子 电脑 等等 都属于办公用品,MP4 游戏机 等等 都属于娱乐用品。 那么好,现在我需要工作完成对一个程序的编写,这个时候我需要的是办公用品,这个时候我需要将我的办公用品拿过来,按需要来使用(比如编程要用到笔记本)。那么这个时候将我的办公用品拿过来就是一个导入的动作,而办公用品就是名字空间,工作完成后我又需要打会游戏,我们可以将娱乐用品拿过来使用,这个时候我们又导入了一个名字为 娱乐用品的名字空间。里面包含:MP4 游戏机等等。
代码表示如下:
using 办公用品;
using 娱乐用品;
2. 理解完名字空间继续看下面的代码
第三行的
namespace MyHelloWorld //定义自己的名字空间
理解完名字空间 那第三个也就很好理解了吧。就是定义自己的名字空间,将来告诉别人你的名字空间包装的那些类型。
class Program //就是你的应用程序类
static void Main(string[] args) //程序的入口点
现在你就可以将program理解成你的程序,Main()方法就是你程序的入口点,程序运行时就会去找Main()(入口点)方法去执行里面的代码。
入口点方法里面写了一句 Console.WriteLine("Hello World..."); 如下:
Console.WriteLine("Hello World...");
意思就是在控制台输出一句话为:Hello world... 那么继续分析一下这句代码将以上学习的概念串联起来。
首先就是 Console类 : 它代表一个控制台窗口。这个窗口类用一个功能(方法)WriteLine,意思是让控制台窗口写入一句话,话的内容是什么? 就是WriteLine方法后括号中间的内容。如:WriteLine(内容)
分析完代码我们在回过头想一想我们这个程序实现的功能 也就是程序所作的事 是将一句内容为Hello world的字符串输出到控制台。那么在实现这个功能的时候我们要用到控制台类(Console),那么控制台类在哪,这个时候在看我们代码的第一行,using System; 没错 Console类是属于 System名字空间,所以我们要使用Console的时候需要先导入它的名字空间。这样实现我们程序要求的类型就有啦,我们只需调用类型方法去做相应的操作就OK啦。。
四、引导你的伪代码
理解完上面的概念后,根据我上面的例子与解说,写一个伪代码,帮助大家更好理解:
using 办公用品;//使用电脑所以导入办公用品名字空间
using 娱乐用品;//使用游戏机导入娱乐用品名字空间
/*
包含关系:
办公用品: 笔 电脑 本子
娱乐用品: MP4 游戏机
*/
namespace 我的办公室
{
class Program
{
static void Main(string[] args)
{
//使用电脑如完成我的工作
电脑.运行代码();
//完成后 我需要打会游戏机
游戏机.运行游戏();
}
}
}
这是我自学C#编程语言的第一篇文章和第一个小程序,虽然内容是简单,也算是正式入门了,之后还有更多相关文章进行更新,希望大家继续关注。


猜你喜欢
- 英文意思随机数可以做什么?生成一些随机的数字用途非常的广泛, 例如随机抽取数据库的一条记录,把生成的数字给变量,某一个时间点执行一些代码,随
- 什么是ByteBuddyByteBuddy是一个java的运行时代码生成库,他可以帮助你以字节码的方式动态修改java类的代码。为什么需要B
- 写在前面在平时的开发之中,我们需要对于数据加载的情况进行展示:空数据网络异常加载中等等情况现在设置页面状态的方式有多种,由于笔者近期一直在使
- 下载 Android SDK,官网:www.android.com 我相信很多人跟我一样,进不去。Android Studio 中文官网 w
- 本文将在C#中Socket同步通信的基础上,分析和研究Socket异步编程的实现方法,目的是深入了解Socket编程的基本原理,增强对网络游
- asp.net core 中已经自带了一个官方的依赖注入框架,现在想把它应用到控制台程序中,控制台程序是最简洁的代码结构,摒除了其他一堆嵌入
- 这篇文章主要介绍了基于Java检查IPv6地址的合法性,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- 本文实例讲述了C#实现的ZPL条码打印类。分享给大家供大家参考,具体如下:using System;using System.Collect
- 一、CallContext 概述命名空间:System.Runtime.Remoting.MessagingCallContext 用于提供
- SpringMVC通过模型视图ModelAndView渲染视图大致流程代码样例1.准备工作A.因为文中用到jsp,所以需要引入jsp标准标签
- 1、前言当提及如何终止一个线程时,部分读者通常立马想到的方法肯定是stop(),但是stop()方法并不被推荐使用(很多规范中是禁止使用的)
- 加密解密本身并不是难事,问题是在何时去处理?定义一个过滤器,将请求和响应分别拦截下来进行处理也是一个办法,这种方式虽然粗暴,但是灵活,因为可
- 约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知 n 个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。. 从编号为 k 的人开始
- 前言悬浮窗是一种比较常见的需求。例如把视频通话界面缩小成一个悬浮窗,然后用户可以在其他界面上处理事情。本文给出一个简单的应用内悬浮窗实现。可
- 简介Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口。 lambda表达式就和方法
- 有时候编译器、处理器的优化会导致runtime与我们设想的不一样,为此Java对编译器和处理器做了一些限制,JAVA内存模型(JMM)将这些
- 本文实例讲述了Java实现批量导入excel表格数据到数据库中的方法。分享给大家供大家参考,具体如下:1、创建导入抽象类package co
- 程序入口:Test_Email_N.javaimport java.io.IOException;import java.util.Date
- 本文通过是 * 实现的AOP功能的封装与配置的小框架.加深对 * 和AOP编程的理解设计根据配置文件的键xxx对应的值(类全名)创建相应
- 相信各位同道在写代码的时候,肯定会写一些日志打印,因为这对往后的运维而言,至关重要的。那么我们请求一个restfull接口的时候,哪些信息是