网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月03日漏签0天
c#吧 关注:188,467贴子:822,947
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 1回复贴,共1页
<<返回c#吧
>0< 加载中...

输出、引用、可选参数,参数数组、匿名方法、lambda表达式

  • 只看楼主
  • 收藏

  • 回复
  • microroom
  • c#诠释者
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
using System;
using static System.Console;
//定义委托类型时可以指定输出参数、引用参数、可选参数、参数数组
delegate void Del(out int a,ref int b,int c=77777,params int[] arr);
class Exam
{
static void Main(string[] args)
{
int a=1,b=2;
f(out a,ref b,555,6,7,8);
f(out a,ref b);
g(out a,ref b,999,6,7,8);
g(out a,ref b);
WriteLine("############");
Del d=f;
d+=g;
//可选参数c使用的也是定义委托Del时的默认值77777,未使用函数f和g的默认值,
//参数数组为空
d(out a,ref b);
b=112233;
//匿名方法的参数不允许可选参数和参数数组
d+=delegate(out int a2,ref int b2,int c2/*=444*/,/*params*/ int[] arr2){
a2=123;
WriteLine($"in delegate {a2},{b2},{c2},{String.Join("+",arr2)}");
};
//lambda表达式不允许有可选参数和参数数组
d+=(out int a3,ref int b3,int c3/*=444*/,/*params*/ int[] arr3)=>{
a3=456;
WriteLine($"in lambda表达式 {a3},{b3},{c3},{String.Join("+",arr3)}");
};
d(out a,ref b,445566,8,8,8);
b=666888;
//可选参数c使用定义委托Del时的默认值77777,参数数组为空
d(out a,ref b);
ReadKey();
}
static void f(out int a,ref int b,int c=88,params int[] arr)
{
//输出参数使用前需赋值
a=111;
WriteLine($"{a},{b}");
Action<int> d=delegate(int x)
{
WriteLine($"{c},{x}");
//匿名方法内部不能使用输出参数、引用参数
//WriteLine($"{a},{b}");
WriteLine($"{String.Join("+",arr)}");
};
Action<int> d2=(int x)=>{
WriteLine($"{c},{x}");
//lambda表达式内部不能使用输出参数、引用参数
//WriteLine($"{a},{b}");
WriteLine($"{String.Join("+",arr)}");
};
d(4);
d2(44);
}
//输出参数、引用参数、参数数组不能指定默认值
//static void g(out int a=1,ref int b=2,params int[] arr=new int[]{5,6,7})
static void g(out int a,ref int b,int c=999,params int[] arr)
{
a=222;
WriteLine($"{a},{b},{c},{String.Join("+",arr)}");
}
}



  • 贴吧用户_5DQ1Q4V
  • c#爱好者
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
大佬你会在Python调用html吗


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1回复贴,共1页
<<返回c#吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示