c# - 外部对象作为参数调用方法时需要注意的问题

我们在c#中调用方法的时候,是否曾担心过我们传进去的参数会被修改,或者担心其不被修改;本文介绍了常见的几种情况,并做了代码测试,可以做个参考。


测试方法:

1. 定义两个类,IntClass(仅包含一个int类型的属性)及StringClass(仅包含一个string类型的属性)。

2. 测试时,定义四个分别为以下类型:int,string,IntClass,StringClass的变量。

3. 对于每一个变量,定义两个方法(带ref及不带ref关键字),在方法中修改参数的值;4个变量共计8个方法。

4. 观察每次方法调用,是否对方法调用之外的变量产生影响。


测试代码:

namespace RefTest
{
    public class IntClass
    {
        public int I { get; set; }
    }

    public class StringClass
    {
        public string S { get; set; }
    }

    class Program
    {
        public static void IntTest(int i)
        {
            i++;
        }

        public static void IntTest2(ref int i)
        {
       
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值