只有在动手写代码的时候,才能真正理解到代码的逻辑思想,所以,开始写代码吧。

函数的意义:降低相同功能的代码重复编写,提高重复代码的维护效率。

  • 函数

一个文件由命令空间(namespace)、类(class)、函数(function)的结构组成。函数放在Class类中,使用static void HelloFunction() { }语句,函数命名一般开头字母用大写,调用函数时必须是函数名+括号:HelloFunction();。

void表示函数无返回值,如需返回值,则将void替换为返回的值类型,使用return结束函数并返回值给调用代码。另外,return可存在于void声明的函数中,例如:return;(用来退出函数,不能有值)。

参数指定:int i, string myStr,还可以使用params指定参数数组,必须放在参数列表的最后位置。参数传递分值传递和引用传递,引用传递(声明、调用参数时添加ref关键字),函数对参数的修改会修改传入变量本身的值,例如:

        static void  DoubleInt(ref int refInt)
{
refInt *= 2;
Console.WriteLine("ref 函数内的值:{0}", refInt);
}
static void Main(string[] args)
{
//ref 引用传递,由于将修改参数值,引用的参数有两个条件:1)不能是常量 2)必须初始化;
int refVal = 10;
Console.WriteLine("ref 前变量的值:{0}", refVal);
DoubleInt(ref refVal);
Console.WriteLine("ref 参数值结果:{0}", refVal);
}
  • 变量的作用域

不同函数中声明的变量不能在其它函数中直接访问,需使用参数的方式。另外,可在类中声明变量,一样使用static的方式,如与函数内的变量重名,需使用Program(类名).myStr访问,如直接使用myStr会屏蔽全局变量。

还需要注意的是语句块也会影响变量的作用域,例如for(int i = 1),这个i只能在for循环中(嵌套其中的语句)使用,跳出循环后,变量i就不能使用了。

对全局变量的使用,书上持保留意见,建议在函数间使用参数传递的方式,这样可以比较直观地看出变量的变化。

  • main()入口函数

执行C#程序等同于执行main()函数,main()函数执行完毕,程序执行过程就结束了。main函数可以返回int(替换void)值,表示程序如何退出,后面看看怎么用的。另外,最有意思的就是参数string[] args,用来做DOS程序很直观:

        static void Main(string[] args)
{
Console.WriteLine("参数长度:{0}", args.Length);
foreach (string myArg in args)
{
Console.WriteLine("*) {0}", myArg);
}
}

可通过配置项目属性:调试 - 启动选项 - 命令行参数,给args赋值,参数以空格隔开,如字符串有空格,则用引号包围起来。可以试试在DOS下使用,像DOS命令一样增加参数。

  • 结构函数

可以在结构中声明函数,声明时不使用static,而不是public,应该是可访问性方面的需要(书中提到后面会详述):

    struct customerName
{
public string firstName, lastName;
public string cusName()
{
return firstName + lastName;
}
}

使用时就可以这样:customerName.firstName = "水手"、customerName.cusName(),有点面向对象的意思了,呵呵。

  • 结语

以前学习的时候,可能在知道命令行程序“原来是这样做出来的”,然后就没心情学下去了,然后就自以为是地去折腾命令行程序,结果又做不出个所以然来,慢慢地就失去了学习的兴趣,结果就:半途而废。

SO,现在要淡定~~~虽然知道了怎么做,但是要想做出一个真正能用的工具,不是学点新知识就能行的,做出真正可以用的工具是一个过程,一个不断迭代的过程。

01-C#入门(函数一)的更多相关文章

  1. Python入门-函数的使用到程序的公布安装

    Python入门-函数的使用到Python的公布安装 本文主要适合有一定编程经验,至少掌握一门编程语言的人查看. 文中样例大多都是简单到认识英文单词就能看懂的水平,主要讲的是Python的总体使用方法 ...

  2. ggplot2作图详解:入门函数qplot

    ggplot2作图详解:入门函数qplot   ggplot2的功能不用我们做广告,因为它的作者Hadley Wickham就说ggplot2是一个强大的作图工具,它可以让你不受现有图形类型的限制,创 ...

  3. PHP丨PHP基础知识之PHP基础入门——函数「理论篇」

    前两天讲过PHP基础知识的判断条件和流程控制,今天来讲讲PHP基础知识之PHP基础入门--函数! 一.函数的声明与使用 1.函数名是标识符之一,只能有数字字母下划线,开头不能是数字. 函数名的命名,须 ...

  4. JavaScript入门-函数function(二)

    JavaScript入门-函数function(二) 递归函数 什么是递归函数? 递归简单理解就是,在函数体里,调用自己. //我们在求一个10的阶乘的时候,可能会这么做 //写一个循环 var to ...

  5. Redis 笔记 01:入门篇

    Redis 笔记 01:入门篇 ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...

  6. SpringMVC札集(01)——SpringMVC入门完整详细示例(上)

    自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...

  7. es6 快速入门 —— 函数

    其他章节请看: es6 快速入门 系列 函数 函数是所有编程语言的重要组成部分,es6之前函数语法一直没什么变化,遗留了许多问题,javaScript开发者多年来不断抱怨,es6终于决定大力度更新函数 ...

  8. 01 Linux入门介绍

    一.Linux 初步介绍 Linux的优点 免费的,开源的 支持多线程,多用户 安全性好 对内存和文件管理优越 系统稳定 消耗资源少 Linux的缺点 操作相对困难 一些专业软件以及游戏支持度不足 L ...

  9. 01.Bootstrap入门

    Bootstrap介绍: Bootstrap,来自 Twitter,是目前很受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加 ...

  10. 01.Hibernate入门

    前言:本文用一个简单的Hibernate应用程序例子来引领初学者入门,让初学者对Hibernate的使用有一个大致的认识.本文例子使用了MySQL数据库.Maven管理工具.Eclipse开发工具,创 ...

随机推荐

  1. 后台给前台传JSON字符串,前台解析并拼接显示

    后台传JSON public class CourseType : IHttpHandler { Epoint.PeiXun.Bizlogic.BLL.CourseLibrary.PX_CourseT ...

  2. 转载《SimpleAdapter的参数说明》

    SimpleAdapter的参数说明 第一个参数 表示访问整个android应用程序接口,基本上所有的组件都需要 第二个参数表示生成一个Map(String ,Object)列表选项 第三个参数表示界 ...

  3. java异常知识点整理

    异常处理机制:捕获异常(try-catch-finally)和声明抛弃异常(throw); 所有的异常类都直接或者间接地继承于Throwable类: java异常分为可查异常和不可查异常两种.可查异常 ...

  4. Sqlserver 存储过程

    转载自:http://www.cnblogs.com/hoojo/archive/2011/07/19/2110862.html Transact-SQL中的存储过程,非常类似于Java语言中的方法, ...

  5. 【引】runtime全解析,P2:关于Class 和 MetaClass

    几个基本的概念: id,id的定义是,typedef struct objc_object { Class isa;} *id; id是指向struct objc_object的一个指针.这个意思是, ...

  6. 自学 PHP,如何不走弯路?

    1.一本好书至关重要.如果这本书的知识非常深入,那么还是不要看了.对初学者来说只能是打击.因为很多东西都看不懂.一本知识较为浅显,并且说明非常详细,但是能让你上手的基础知识又非常完善的书籍就非常好.( ...

  7. 高效能人士必知铁律--note

    偶然看到了<高效能人士 必知铁律>这本书,我比较少看成功学,但是这本书把很多著名的成功学书籍整理出来,有时会让你耳目一新,有些观点尽管是常识,但是却加深了你对它们的理解,比如: 只要在积极 ...

  8. 第一篇(C#中?与??)

    不聊闲话,上干货~!(新手初上路,大牛莫喷,谢谢!) 先说?? 在C#中有个三元运算符  X= A==null?B:A 其中A为bool型.当A为空时,X的值为B;当A不为空时,X的值为A. 现在有个 ...

  9. apk安全测试思路

    一: apk安全测试 对于一款android的apk程序,主要进行的测试分两部分: 1) 接口测试 ---接口测试实际上是常见的web安全测试 2) android组件测试 --组件测试实际上是and ...

  10. Orchard学习笔记

    1.下载Orchard sourcrs资源文件,同时也可以去百度下载中文包 资源地址(https://github.com/OrchardCMS/Orchard/releases/download/1 ...