我只是想知道,确切的语法是如何ref以及out委托和内联lambda函数的参数.
这是一个例子
如果函数定义为
public void DoSomething(int withValue) { }
Run Code Online (Sandbox Code Playgroud)
可以通过创建函数中的委托
public void f()
{
Action<int> f2 = DoSomething;
f2(3);
}
Run Code Online (Sandbox Code Playgroud)
如果将原始函数定义为,那该语法是怎样的
public void DoSomething(ref int withValue) { withValue = 3; }
Run Code Online (Sandbox Code Playgroud) 如果我有以下集合
IEnumerable<ProviderOrganisation> listOfProviders
public class ProviderOrganisation
{
public virtual string Code { get; set; }
public virtual string Description { get; set; }
public virtual int SortOrder { get; set; }
public virtual bool IsDefault { get; set; }
public virtual DateTime EffectiveStartDate { get; set; }
public virtual DateTime? EffectiveEndDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我该如何编写 LINQ 来生成仅包含代码的集合?
所以,只是代码列表:
List<string> listOfCodes
Run Code Online (Sandbox Code Playgroud)
谢谢
比方说,我有6种方法:Method1(),Method2(),Method3(),Method4(),Method5()和Method6().我还有另一种方法,SuperMethod(int nr)它将调用其他方法之一.如果输入SuperMethod为1,Method1()则将被调用,依此类推.
这可以在没有switch语句或堆叠if-else语句的情况下以优雅的方式完成吗?
我应该补充一点,这不是我正在编写的重要生产代码,因此性能不是问题.