func委托调用 提问c# action<> func<> 这2个委托怎么用和理解?
提问c# action<> func<> 这2个委托怎么用和理解?
这两个都是3.5的新功能。你可以通过理解委托来理解这两个。让我们看看func<T的用法,tresult>:t是一个可传递的参数,允许多个tresult作为返回值,并且总是最后一个。/ / 1. 使用匿名委派
func< int,int,int> ADD1=委派(int i,int j)
]{
return i j]}
]//2。使用方法委派
func< int,int,int> add2=新建func<,int,int>(这个。添加)
//3. 使用lamdba方法
func<,int,int>,add3=(N1,N2)=>{return N1,N2}action< T>:与func类似,只是没有返回值。Action< datetime>,action1=D=>{此.lblResult.Text=d.ToString(“d”)}
操作1(DateTime.Parse文件( 此.txtText.Text))Predict<T>:可以有返回值
Predict<string> P1=D=>{返回D!=null}
C#中func的用法?
func是一种委托,在3.5中增加了。在2.0中,我们使用delegate,func位于系统核心例如,在反射中使用委托可以弥补反射造成的性能损失。
Func<T和tresult>可分为以下形式:
1。Func<T,TResult>
2.Func<T,T1,TResult>
3.Func<T,T1,T2,TResult>
4.Func<T,T1,T2,T3,TResult>
5.Func<T,T1,T2,T3,T4,TResult>
TResult表示委托返回值的类型,T,T1,T2,T3,T4表示委托调用的方法的参数类型。
Unity中如何使用委托?
Using system
这里是action,比如action
UsingUnityEngine.事件
这是unityevent。用于委托一组参数相同的函数,返回值必须为voidUnityEngine.Events.UnityEventeve=新UnityEngine.Events.UnityEvent()
eve.AddListener文件(func)
void func{}
以下内容与C#:
()=>{}相同,因为地址已传递,如果使用for局部变量,则在将参数传递给循环时很可能会出现问题。你一定要注意这一点
写得不太严谨。如果写作中有问题,继续沟通
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。