• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
张纯睿
博客园    首页    新随笔    联系   管理    订阅  订阅

ref or out 修饰方法的参数,调用的时候参数类型必须严格匹配。

ref or out 修饰方法的参数,调用的时候参数类型必须严格匹配。例如:

定义了方法:
public static void Swap(ref object obja, ref object objb){...};

int a=1;
int b=3;
Swap(ref a, ref b);
会产生编译错误,它提示你没有定义public static void Swap(ref int obja, ref int objb){...};这样一个方法。


如果你尝试这样调用:
int a=1;
int b=3;
Swap(ref (object)a, ref (object)b);
会产生一个编译错误,大概意思是:必须使用可赋值的变量作为参数。

!!正确的使用方式是:
int a=1;
int b=3;
object o1=(object)a;
object o2=(object)b;
Swap(ref o1, ref o2);

posted @ 2011-10-30 22:00  张纯睿  阅读(168)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3