`

C# Param parameters types

    博客分类:
  • C#
阅读更多

You can define a method to have 'params' type of argument, with the 'params', you can pass argument as you can do in variable arguments as in C++/C.

 

 

Here is one example that shows you some tricks and internals with the params in C#.

 

 

class Program
  {
    static void Main(string[] args)
    {
      // you can pass an null, the param parameter is null
      ParamMethods(null);
      // you can pass an empty parameter list, which is like pass a 0-length list
      ParamMethods();
      // or you can enumerate the list and pass any number of parameters, the compiler
      // will generate a list, initialize the param array with the list values.
      ParamMethods("Hello3", "world3");
      // or you can explicitly pass in an array, and you can do the initialization yourself.
      ParamMethods(new [] { "Hello4", "World4"});
    }


    internal static void ParamMethods(params string[] param)
    {
      if (param == null)
      {
        param = new[] { "hello", "world" };
        Console.WriteLine("param is null");
        return;
      }

      if (param.Length == 0)
      {
        param = new[] { "hello2", "world2" };
        Console.WriteLine("param.Length == 0");
        return;
      }


      int i = 0;
      foreach (var item in param)
      {
        ++i;
        Console.WriteLine(i.ToString() + ": " + item);

      }
    }
  }
分享到:
评论

相关推荐

    C#语法中的Param应用

    在C#编程语言中,`params`关键字是一个非常实用的功能,它允许你在方法定义中接受一个可变数量的参数。这种特性使得函数调用更加灵活,尤其在处理类似集合或列表的数据时。然而,如同任何工具一样,`params`关键字也...

    param_types.rar_objects

    Doubly-linked list of objects. The objects lifetimes are controlled by the list. I.e. the the list creates the objects and they are deleted upon removal.

    C#无损高质量压缩图片代码

    本文实例为大家分享了C#无损高质量压缩图片的具体代码,供大家参考,具体内容如下 /// 无损压缩图片 /// <param name=sFile>原图片</param> /// <param name=dFile>压缩后保存位置</param> /// <param name=dHeight...

    C#线程多个参数

    string param2 = (string)parameters[1]; // 使用参数... } ``` 5. **线程同步与线程安全** - 当多个线程访问共享资源时,可能会出现竞态条件和数据不一致的问题。C#提供了多种机制来确保线程安全,如`lock`...

    C# 传入自定义列表List 到Oracle存储过程

    OracleParameter param = cmd.Parameters.Add("return_value", OracleDbType.Varchar2, ParameterDirection.ReturnValue); param.ArrayBindSize = myList.Count; param.CollectionType = OracleCollectionType....

    oracle+c# 数据库开发实例

    ### Oracle+C# 数据库开发实例 #### Oracle存储过程创建与测试 在本示例中,我们将探讨如何在Oracle数据库中创建一个存储过程,并通过C#应用程序来调用它。存储过程是一种预先编译好的SQL代码块,它可以接受输入...

    关于三层架构的操作方法

    //连接字符串 private static readonly string _ConnString = ConfigurationManager.ConnectionStrings["_ConnString"].ConnectionString.ToString(); ... cmd.Parameters.AddRange(Parms); } }

    关于PSPICE仿真软件中如何使用PARAMETERS参数分析教程参考.pdf

    使用PARAMETERS参数分析在PSPICE仿真软件中的应用 PSPICE仿真软件是一种广泛应用于电子电路设计和仿真的软件,通过使用PARAMETERS参数分析,可以对电路中的参数进行灵活的调整和分析,从而快速观察到参数变化对输出...

    C# RFID读写

    在C#编程环境中,利用.NET框架,我们可以创建应用程序来控制RFID阅读器,读取或写入RFID标签的信息。以下是一些关于"C# RFID读写"的重要知识点: 1. **RFID系统组件**:RFID系统主要由RFID阅读器(或称天线)、RFID...

    C#存储过程实例

    command.Parameters.Add(inputParam); ``` 对于输出参数,同样使用SqlParameter,但需要设置Direction属性为ParameterDirection.Output: ```csharp SqlParameter outputParam = new SqlParameter("@outputParam",...

    C#如何连接服务器共享文件夹

    C#如何连接服务器共享文件夹 C#如何连接服务器共享文件夹是大家经常遇到的问题,本文将详细介绍如何使用C#连接服务器共享文件夹。 首先,需要了解连接服务器共享文件夹的基本概念。服务器共享文件夹是指在服务器上...

    matlab开发-parseParameters

    在MATLAB开发中,"parseParameters"通常是指处理参数名-值对(parameter-name pairs)的一种功能或方法。参数名-值对是编程中常见的一种数据结构,它允许我们以键值对的形式传递和存储信息,特别适用于设置配置或者...

    用C#连接IBM MQ

    ### 使用C#连接IBM MQ详解 IBM MQ 是一种先进的消息中间件,被广泛应用于企业级应用集成场景中。本文将详细介绍如何使用C#语言来连接并操作IBM MQ,特别是实现消息的发送与接收功能。 #### IBM MQ基础知识简介 在...

    C#存储过程用例

    command.Parameters.AddWithValue("@param1", value1); command.Parameters.AddWithValue("@param2", value2); command.ExecuteNonQuery(); // 执行非查询操作 // 或者 SqlDataReader reader = command....

    C# 查询参数化例子

    command.Parameters.Add(new SqlParameter("@inputParam", SqlDbType.Int) { Value = inputValue }); ``` 如果存储过程中有输出或返回参数,我们需要设置`Direction`属性,例如: ```csharp SqlParameter output...

    c#调用dll示例

    在IT行业中,C#是一种广泛使用的面向对象的编程语言,特别是在Windows平台上开发桌面应用程序和.NET框架相关项目时。然而,有些特定的底层功能或者高性能需求可能会用到C++来编写,因为C++提供了更低级别的控制和更...

    C#使用存储过程录入数据

    command.Parameters.Add(new SqlParameter("@param1", SqlDbType.VarChar) { Value = value1 }); command.Parameters.Add(new SqlParameter("@param2", SqlDbType.Int) { Value = value2 }); ``` 5. **执行存储...

    C#调用C++ Api或接口转换工具

    在.NET框架中,C#是一种常用的编程语言,而C++则有着广泛的应用,尤其是在系统级编程和高性能计算领域。有时我们需要在C#项目中利用已有的C++库或API,这就涉及到了跨语言互操作性。本文将详细介绍如何在C#中调用C++...

    c# 反射实例

    //c# 反射实例 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Reflection; namespace ConsoleApplication1 { class Program { static void Main( string...

    c# 写日志模块

    c# 非常便捷的记日志 /// <param name="fun">写日志的方法名</param> /// <param name="Msg">日志内容</param> /// <param name="MsgType">日志类型(不同类型写入不同的目录)</param> /// <param name="real...

Global site tag (gtag.js) - Google Analytics