• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C# 关键字params、ref 和 out

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 

 

一、params

1. 用params修饰的参数,参数列表是可变的。

字面意思比较难懂,所以看示例很有用。

class Program

{

    staticvoid Main(string[] args)

    {

        // 一般做法是先构造一个对象数组,然后将此数组作为方法的参数

        object[] arr =newobject[3]{100,'a',"keywords"};

        UseParams(arr);

 

        // 而使用了params修饰方法参数后,我们可以直接使用一组对象作为参数

        // 当然这组参数需要符合调用的方法对参数的要求

        UseParams(100,'a',"keywords",1111,'s');// 参数可变

        Console.Read();

    }

    publicstaticvoid UseParams(paramsobject[] list)

    {

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

        {

            Console.WriteLine(list[i]);

        }

    }

}

// output:

// 100
// a
// keywords

// 100
// a
// keywords
// 1111
// s

 

二、ref

1.         Ref使用前必须声明和初始化

2.         Ref传递的是地址,修改的是地址,是原样,不是副本。

class Program

{

    staticvoid Main(string[] args)

    {

        int i =10;

 

        // 查看调用方法之前的值

        Console.WriteLine("Before the method calling: i = {0}", i);

 

        UseRef(ref i);

 

        // 查看调用方法之后的值

        Console.WriteLine("After the method calling: i = {0}", i);

        Console.Read();

    }

 

    publicstaticvoid UseRef(refint i)

    {

        i +=100;

        Console.WriteLine("i = {0}", i);

    }

}

// output:

// Before the method calling: i = 10

// i = 110

// After the method calling: i = 110

 

 

三、out

1.         Out使用前仅需声明

2.         out 关键字会导致参数通过引用来传递。这与 ref 关键字类似。

using System;

 

namespace HelloWorld

{

    classProgram

    {

        staticvoid Main(string[] args)

        {

            string str = "123";

            int result; // 使用out前声明


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
linux下c语言 读取文件发布时间:2022-07-14
下一篇:
帮你把java代码自动翻译到c/c++jni调用发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap