C#复习①
C#复习①
2016年6月15日
08:19
Main Introduction of C# 简单介绍C#
1. C# is very similar to Java (70% Java, 10% C++, 5% Visual Basic, 15% new)
C#与Java好比失散多年的姐妹,长得像但是非同一母亲所生。C# 在吸收Java同时又不忘记从C++那里借鉴些东西过来。不过除了借鉴其他语言之外,C#自身的特点也不能忽略。
与Java相比,在C#中的新特性有不少:引用参数;堆栈分配对象;分块矩阵;委托;版本控制;lambda表达式;扩展方法;
还有一些语法糖(Syntactic Sugar) : Component-based programming 基于组件编程;索引器;foreach循环;迭代器;类似SQL的查询表达式。
2.从Hello World看C#程序的结构
文件命名: Hello.cs
程序:
using System;
class Hello
{
static void Main() {
Console.WriteLine("Hello World");
}
}
编译指令: csc Hello.cs
运行指令:Hello
运行结果:Hello World
首先程序导入namespace命名空间System,声明Hello类,程序入口Main, 控制台输出语句
通过下面的图进行更详细的说明:

一个C#程序可以有多个.cs文件组成,每个.cs文件下面可以包含多个命名空间,每个命名空间下面可以包含多个类。如果命名空间包含结构体,接口,委托,枚举,一个命名空间可在其他文件中重复打开。
因此最简单的程序就是单个类,单个文件,默认命名空间。
3.下面给出简单的由两个文件组成的程序。

4.针对上述程序的分析:
在Counter.cs文件中声明了
函数Add
( 可见性为public,无返回值void,传入参数类型为int);
函数Val
( 可见性为public,返回值为int,无参数)
在Prog.cs文件中:
函数的入口Main();
调用了Counter中的Add方法和Val方法
函数的编译指令分析:
csc /target:exe Counter.cs Prog.cs
使用指令生成目标文件.exe(其中该exe文件可以自命名,如果仅仅指明生成.exe则默认命名问包含程序入口的Main()的文件名称,在此即生成Prog.exe)
使用动态链接语言DLL运行程序的编译指令:
csc /target:library Counter.cs
执行后生成 Counter.dll文件
csc /reference:Counter.dll Prog.cs
执后生成Prog.exe
后缀为exe文件的不同:
在此需要清楚的是,在Java中通过编译生成的.exe文件是二进制文件,计算机可以直接运行。
但是在C#中虽然是.exe后缀,但是其文件类型为文本文件, 不能直接运行。
C#复习②友情链接:http://www.cnblogs.com/zpfbuaa/p/5586426.html
C#复习①的更多相关文章
- iOS总结_UI层自我复习总结
UI层复习笔记 在main文件中,UIApplicationMain函数一共做了三件事 根据第三个参数创建了一个应用程序对象 默认写nil,即创建的是UIApplication类型的对象,此对象看成是 ...
- vuex复习方案
这次复习vuex,发现官方vuex2.0的文档写得太简略了,有些看不懂了.然后看了看1.0的文档,感觉很不错.那以后需要复习的话,还是先看1.0的文档吧.
- 我的操作系统复习——I/O控制和系统调用
上篇博客介绍了存储器管理的相关知识——我的操作系统复习——存储器管理,本篇讲设备管理中的I/O控制方式和操作系统中的系统调用. 一.I/O控制方式 I/O就是输入输出,I/O设备指的是输入输出设备和存 ...
- 复习(1)【Maven】
终于开始复习旧知识了,有输入必然要有输出.输入和输出之间的内化过程尤为重要,在复习的同时,真正把学到的东西积淀下来,加深理解. Maven项目概念与配置 Maven是一个项目管理和综合工具.Maven ...
- 《CSS权威指南》基础复习+查漏补缺
前几天被朋友问到几个CSS问题,讲道理么,接触CSS是从大一开始的,也算有3年半了,总是觉得自己对css算是熟悉的了.然而还是被几个问题弄的"一脸懵逼"... 然后又是刚入职新公司 ...
- JS复习--更新结束
js复习-01---03 一 JS简介 1,文档对象模型 2,浏览器对象模型 二 在HTML中使用JS 1,在html中使用<script></script>标签 2,引入外部 ...
- jQuery 复习
jQuery 复习 基础知识 1, window.onload $(function(){}); $(document).ready(function(){}); 只执行函数体重的最后一个方法,事 ...
- jQuery5~7章笔记 和 1~3章的复习笔记
JQery-05 对表单和表格的操作及其的应用 JQery-06 jQuery和ajax的应用 JQery-07 jQuery插件的使用和写法 JQery-01-03 复习 之前手写的笔记.实在懒得再 ...
- HTML和CSS的复习总结
HTML(Hypertext Markup Language)超文本标记语言:其核心就是各种标记!<html> HTML页面中的所有内容,都在该标签之内:它主要含<head>和 ...
- 2017年1月1日 java学习第二天复习
今天是新年的第一天,以前学习没有总结习惯,学习效率和成果都很不好. 学习的过程就是反复的复习和不断学习的过程,开始今天的学习总结 学习java的第二天. 今天学习了java最基础的一些内容,照着 ...
随机推荐
- 【转载】css3 content 生成内容
content一般和:before,:after一起使用,用来生成内容(img和input没有该属性),content的内容一般可以为以下四种: none: 不生成任何值. attr: 插入标签属性值 ...
- Clr静态数据Table-Valued函数
前两天Insus.NET实现一个功能<在数据库中提供只读数据>http://www.cnblogs.com/insus/p/4384411.html ,在数据库中为程序提供静态数据.它是在 ...
- C#常用字符串加解密方法封装
C#中常用的字符串加密.解密方法封装,包含只加密但不解密的方法.收藏起来备用. //方法一 //须添加对System.Web的引用 //using System.Web.Security; /// & ...
- ExtJs动态生成treepanel的Json格式
在节点中加上"checked"属性,会自动生成checkbox. 获取选中节点 var nodeArray = ""; var nodesObj = mytre ...
- 【处理手记】U盘读不出+卷标丢失+像读卡器+大小0+无媒体
Update:201307180945 今天这鸟问题又找上我了,照之前的方法做后没解决,我又做了些尝试,整个流程如下: 1.插上U盘,发现问题 2.以devmgr_show_nonpresent_de ...
- Bootstrap学习笔记系列3-------Bootstrap简单表单显示
表单布局 垂直或基本表单 基本的表单结构时BootStrap自带的,创建基本表单的步骤如下: 向父<form>元素添加role = "form": 为了获取最佳的间距, ...
- 介绍开源的.net通信框架NetworkComms框架 源码分析(十八 ) ConnectionListenerBase
原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架 作者是英国人 以前是收费的 目前作者已经开源 许可是 ...
- 一个疑难杂症 IIS URL区分大小写(FF的自动变换URL问题)?
(II8 VS14 CTP3 Windows7 ASP.NET WEBFORM) 在我的印象里面,IIS的URL在一般情况下面是不分大小写的. 所以下面两个URL应该是一样的. http://loca ...
- ASP.NET MVC SSO单点登录设计与实现(转载)
实验环境配置 HOST文件配置如下: 127.0.0.1 app.com127.0.0.1 sso.com IIS配置如下: 应用程序池采用.Net Framework 4.0 注意IIS绑定的域名, ...
- SSH实例(3)
src文件夹的结构如下: clasDao文件: package com.school.service; import java.util.List; import com.school.dao.Cla ...