C#中params参数的用法!!!!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中params参数的用法!!!!相关的知识,希望对你有一定的参考价值。

假设有一个函数GetWord(),
string firstWord = GetWord("This is a dag.", 2);
假定第一个单词计数为1,则firstWord就被赋值字符串is.
意思就是通过GetWord中的第二个参数来确定FirstWord该取哪个单词。

这个GetWord函数要怎么写?需用到params参数。

高手帮帮忙,能编出来更好,给点思路也行

//参数可以为多个int型,例如GetWord("This is a dag.", 2);返回"a"
//而GetWord("This is a dag.", 1, 2);则返回"is a"
//GetWord("This is a dag.", 0, 2);返回"This a"
public string GetWord(string s,params int[] n)

string value="";
string[] str = s.split(" ");
foreach(int i in n)

if(i<str.Length)value+=str[i]+" ";

return value.Trim();

不知道是不是你想要的。。有问题可以HI我。
参考技术A params
我在数据访问时用过
public static int ExecuteNonQuery(string cmmdText, CommandType cmdType, params SqlParameter[] parameters)
参考技术B public string GetWord(string s,int n)

string[] str = s.split(" ");
return str[n-1];
参考技术C params 构造函数声明数组 而不知道数组长度 用的
在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。
using System;
public class MyClass


public static void UseParams(params int[] list)

for (int i = 0 ; i < list.Length; i++)

Console.WriteLine(list[i]);

Console.WriteLine();


public static void UseParams2(params object[] list)

for (int i = 0 ; i < list.Length; i++)

Console.WriteLine(list[i]);

Console.WriteLine();


static void Main()

UseParams(1, 2, 3);
UseParams2(1, 'a', "test");

// An array of objects can also be passed, as long as
// the array type matches the method being called.
int[] myarray = new int[3] 10,11,12;
UseParams(myarray);



输出
1
2
3

1
a
test

10
11
12

(17)C#的params参数关键字

在C#里,如果要使用变长的参数,可以使用这个关键字。

使用 params 关键字可以指定采用数目可变的参数的方法参数。 参数类型必须是一维数组。

在方法声明中的 params 关键字之后不允许有任何其他参数,并且在方法声明中只允许有一个 params 关键字。

如果 params 参数的声明类型不是一维数组,则会发生编译器错误 CS0225

使用 params 参数调用方法时,可以传入:

  • 数组元素类型的参数的逗号分隔列表。
  • 指定类型的参数的数组。
  • 无参数。 如果未发送任何参数,则 params 列表的长度为零。

关于params 参数数组,需掌握以下几点:

一.参数数组必须是一维数组  

二.不允许将params修饰符与ref和out修饰符组合起来使用   

三.与参数数组对应的实参可以是同一类型的数组名,也可以是任意多个与该数组的元素属于同一类型的变量  

四.若实参是数组则按引用传递,若实参是变量或表达式则按值传递

五.形式为:方法修饰符 返回类型 方法名(params 类型[ ] 变量名)

六.params参数必须是参数表的最后一个参数

以上是关于C#中params参数的用法!!!!的主要内容,如果未能解决你的问题,请参考以下文章

C# params 用法简介

ref 和 out 的用法和区别以及params用法

C# 用params定义一维参数数组

mybatis中@Param用法

mybatis中@Param的用法和作用

参数数组(params)的用法