C#学习第六天

今天的内容主要是参数数组,C#允许函数指定一个(只能指定一个)特定的参数,这个参数必须是函数定义中最后一个参数,成为参数数组。

参数数组可以使用个数不定的参数调用函数,可以使用params关键字定义它们。

定义使用参数数组的函数时,需使用下列代码:

static<returnType><functionName>(<p1Type><p1Name>,…,params<type>[]<name>)

{

  …

  return<returnType>

}

使用下面的代码可以调用该函数:

<functionName>(<p1>,…,<val1>,<val2>,…)

其中<val1>和<val2>等都是type类型的值,用于初始化<name>数组。可以指定的参数个数几乎不受限制。唯一的限制就是它们都必须是<type>类型,甚至可以根本不指定参数。

这一点使参数数组特别适合于为在处理过程中要使用的函数指定其他信息。

例如,嘉定有一个GetWord(),它的第一个参数是一个string值,并返回字符串中的第一个单词:

string firstWord=GetWord("This is a sentence.");

其中firstWord被赋予字符串This。可在GetWord()中添加一个params参数,以根据其索引选择另一个要返回的单词。

string firstWord=GetWord("This is a sentence.",2);

假定第一个单词计数为1,则firstWord就被赋予字符串is。

也可以在第三个参数中限制返回字符的个数,同样通过params来实现。

stirng firstWord=GetWord("This is a sentence.",4,3);

此时,firstWord被赋予字符串sen.

class program

{

  static int sumVals(params int[] vals)

  {

    int sum=0;

    foreach(int val in vals)

     {

        sum+=val;

     }

    return sum;

  }

  static void Main(string[] args)

   {

      int sum=sumVals(1,5,2,9,8);

      Console.WriteLine("Summed values={0}",sum);

      Console.ReadKey();

   }

}

其中

 static int sumVals(params int[] vals)

  {

    int sum=0;

    foreach(int val in vals)

     {

        sum+=val;

     }

    return sum;

  }

用关键字 params定义函数sumVals,该函数可以接受任意个int参数(但不接受其他类型的参数)

感觉这个还是不太好理解,明天还需要加强。

时间: 2024-10-14 22:43:37

C#学习第六天的相关文章

python学习第六天 - 列表(数组)

python当中的数组与java,c不太一样,数组相当于一个列表,一个列表中可以有,整型,字符串,浮点型等等. 定义格式如下: >>> list = [123,'小甲鱼',3.14] >>> list [123, '小甲鱼', 3.14] 介绍几种向列表中添加元素的方法 1.append() :向列表中增加新的元素,一次只能添加一个元素,默认添加到列表的末尾 >>> list.append('黑夜') >>> list [123, '

七、Android学习第六天——SQLite与文件下载(转)

(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 七.Android学习第六天——SQLite与文件下载 SQLite SQLite是Android内嵌的一个非常小的关系型数据库. 总结:当我们操作 在学习SQLite当中,遇到两个问题: (一)如果我们在搭建Android环境成功后,在命令行中输入adb后没有反应,可以按一下操作来做: 第一步:将platform-tools的目录加入path环境变量的配置中: 第二步:

PHP学习第六天

看到这个"第六天",想想博客里没有第五天的文章,就感觉一阵惭愧,唉!无论基于什么样的原因,终归是那天没有写博客,没能坚持啊,面壁十分钟. 生气,郁闷,好好的唯品会注册页,做到一多半停电了,无线网弄了无限久才弄好,几欲发狂. 坏心情的话就不说了,今天学了有关表单的一些代码,凭着记忆力稍稍总结一下吧: 表单"form"与序列"ul"基本类似,里边也包含了各类子项目. 最常用的表单就是各网站的用户登录与注册页面. <input+内容>就是一

Ext JS学习第六天 Ext_window组件(三)

此文用来记录学习笔记: 今天再来一个例子巩固一下学习的window: –例2: 在window中添加子组件,并讲解常用查找组件的方式: •重点分析:该实例主要针对于组件的查找进行详细的讲解,在以后的应用开发中,同学们应该学会各种方式去查找所需要的组件,不要拘泥于某种特定形式,这样会给开发思路带来很多好处. –ownerCt –up/down方法 –Ext.getCmp方法 附上栗子代码1 Ext.onReady(function(){ //ex002 : 在组件中添加子组件 ,并进行一系列针对于

Ext JS学习第六天 Ext自定义类(一)

此文来记录学习笔记 •我们在之前的学习,已经对ExtJS有了一个初步的认识,那么如果要学好ExtJS,对于javascript是必须的,也就是说,对于理解ExtJS底层基础架构的理解也是必须的.那么我们现在就开始学习ExtJS的基础架构. –如何创建一个Ext的类.创建类的复杂流程 •定义类的方法:define •对于Ext4.X版本来说,采用了新定义类的define方法,而不是延续旧版本的extend方法,那么对于定义一个新的类.我们来了解下define的使用. •Ext.define(cla

node.js学习第六天--Query String

1.字符串转换 Query String模块的基本介绍 Query String模块用于实现URL参数字符串与参数对象之间的互相转换,提供了“stringify”.“parse”等一些实用函数来针对字符串进行处理,通过序列化和反序列化,来更好的应对实际开发中的条件需求,对于逻辑的处理也提供了很好的帮助,下面就让我们一起来了解学习它吧! 2.序列化 stringify函数的基本用法 stringify函数的作用就是序列化对象,也就是说将对象类型转换成一个字符串类型(默认的分割符(“&”)和分配符(

Python快速学习第六天

第六天: 面向对象 1. 面向对象的特点--多态,封装,继承 对象:包括特性和方法,特性只是作为对象的一部分变量,而方法则是存储在对象内的函数. (1)多态--对不同类的对象,使用同样操作.不知道对象到底是什么类型,但又要对对象做一些操作 很多内置的函数和运算符都是多态的 不用关注x到底是什么类型,都可以使用count函数,另外还有repr(),连接符+等 Python代码   1.  >>> x = 'string'  #x是字符串 2.  >>> x.count('

iOS阶段学习第六天笔记(数组)

                                                                                              iOS学习(C语言)知识点整理 一.整型数组 1)概念:一组类型相同,空间连续分布的数据. 2)int a[10] int 型里面有10个元素,数组的名字叫a, a还是数组的首地址 . 3)引用数组中的元素 a[i]:数组名+下标,下标从0开始 . 4)数组元素个数刚好与数组长度相当叫完全初始化. 5)数组的遍

数据结构学习第六天

17:07:38 2019-08-21 学习 18:11:59 2019-08-21 完善了对栈 队列的测试 栈的数组实现 StackInArray.h 1 #ifndef _STACK_IN_ARRAY_H 2 #define _STACK_IN_ARRAY_H 3 #define Empty -1 4 struct AStack; 5 typedef struct AStack* Stack; 6 int IsEmpty(Stack S); 7 int IsFull(Stack S); 8

20200104--python学习第六天

今日学习 集合 内存相关知识 深浅拷贝 内容回顾与补充 (1)列表: (a)reverse 反转 v1=[1,2,3111,32,13] print(v1) v1.reverse() print(v1)   #输出的结果为:[13,32,3111,2,1] (b)sort 排序 v1=[11,22,3111,32,13] v1.sort(reverse=False)# #从小到大(默认) print(v1) #输出结果为:[11, 13, 22, 32, 3111] v1.sort(revers