C#教程

关注公众号 jb51net

关闭
首页 > 软件编程 > C#教程 > C#方法params参数

C#方法params参数用法及说明

作者:z落落

这篇文章主要介绍了C#方法params参数用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

一、params参数核心定义(必背,对应原代码注释)

//params int[] a:
//params:参数列表 允许传递不定数量的参数,
//int[] a;参数a就是整型的容器,可以存储多个整型的数 
// a.Length 就是容器的长度
//string[] a 存放字符串的容器
//bool[] b  存放bool的容器

✅ 必记知识点(核心,直接背):

二、params参数的语法(必默写,易错重点)

1. 方法定义语法(硬性要求)

// 格式:修饰符 static 返回值类型 方法名(params 数组类型 数组名)
// 核心要求:params必须修饰数组,且只能修饰一个参数,且该参数必须是方法的最后一个参数
// 场景1:仅params参数(无其他参数)
public static void Test1(params int[] a)
{
    //Console.WriteLine(a.Length) ; // 最大下标= a.Length-1;
    //Console.WriteLine(a[0]); //访问每一个参数时候 通过参数的下标进行访问, 下标从0开始
    //Console.WriteLine(a[a.Length-1]);//取最后一个参数;
    //取出所有的参数(循环遍历)
    for (int i = 0; i < a.Length; i++)
    {
        Console.WriteLine(a[i]);
    }
}
// 场景2:params参数+普通参数(params必须在最后)
public static void Test2(int a,int b,params int[] c)// a =10 ,b=20;
{
    Console.WriteLine(c[0]);//30(访问params数组的第一个元素)
}

✅ 必记要点(核心,标红重点):

2. 方法调用语法(必记,结合原代码)

static void Main(string[] args)
{
    // 场景1:调用仅params参数的方法(传递任意数量的同类型参数)
    Test1(1);//a.Length的长度1(传递1个参数)
    Test1(1, 2);//a.Length=2(传递2个参数)
    Test1(1, 2,4,4,4,4,4,4,4,4,44);//a.Length=11(传递11个参数)
    Test1();//允许传递0个参数,此时a.Length=0(不报错)
    // 场景2:调用params+普通参数的方法(普通参数必须按顺序传递,params参数在最后)
    Test2(10, 20, 30, 40, 50); // a=10,b=20,c数组存储30、40、50(c.Length=3)
}

✅ 必记要点:

三、params参数的核心用法(必记,结合原代码)

1. 访问参数的方式(必考)

public static void Test1(params int[] a)
{
    // 1. 获取参数个数(数组长度)
    Console.WriteLine(a.Length); // 如传递11个参数,输出11
    // 2. 访问单个参数(通过下标,下标从0开始)
    Console.WriteLine(a[0]); // 访问第一个参数(下标0)
    Console.WriteLine(a[a.Length-1]);// 访问最后一个参数(下标=长度-1)
    // 3. 遍历所有参数(最常用,取出所有传递的参数)
    for (int i = 0; i < a.Length; i++)
    {
        Console.WriteLine(a[i]); // 依次输出每个参数
    }
}

2. params+普通参数的调用逻辑(结合Test2)

public static void Test2(int a,int b,params int[] c)
{
    Console.WriteLine(c[0]);//30
}
// 调用:Test2(10, 20, 30, 40, 50);
// 逻辑解析:
// 前两个参数(10、20)对应普通参数a、b,后续所有参数(30、40、50)封装到c数组中
// c数组内容:[30,40,50],c[0]就是30,所以输出30

四、params参数必背规则(直接默写,考试高频)

五、高频易错点(避坑专用,必记,对应报错场景)

补充说明

所有知识点、易错点均严格对应原代码,params参数的核心是“不定数量参数传递”,重点记忆“3个语法规则”(修饰数组、仅一个、在最后)和“下标访问规则”,考试中常考查语法规范和调用逻辑,结合Test1、Test2方法强化记忆,规避数组越界、参数顺序错误等常见报错。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文