我最近从一家公司进行了评估,该公司有一个案例,他们希望将谓词设置为方法的输入参数。对此我几乎没有经验,我一直在自己研究。代码如下:
using System;
public interface IBird
{
Egg Lay();
}
public class Chicken : IBird
{
public Chicken()
{
}
public void EggLay()
{
}
public Egg Lay()
{
return new Egg();
}
}
public class Egg
{
public Egg(Func<IBird> createBird)
{
throw new NotImplementedException("Waiting to be implemented.");
}
public IBird Hatch()
{
throw new NotImplementedException("Waiting to be implemented.");
}
}
public class Program
{
public static void Main(string[] args)
{
// var chicken1 = new Chicken();
// var egg …
Run Code Online (Sandbox Code Playgroud) 根据 Apple 的说法:“一个函数可以有多个可变参数。可变参数之后的第一个参数必须有一个参数标签。”
但是当我尝试做同样的事情时,它给了我以下错误。“只允许使用一个可变参数‘...’”请参阅附件截图
更正: 实际上我使用的是旧版本的 XCode,它不支持多个可变参数。
所以我有这个基于的function
返回元素collection
condition
public static T Search<T>(IEnumerable<T> source, Func<T, bool> filter)
{
return source.FirstOrDefault(filter);
}
Run Code Online (Sandbox Code Playgroud)
而且我想将其转换为返回elements
我的collection
那个形式的所有形式condition
.
所以不要将函数签名更改为 public static IEnumerable<T> Search<T>(IEnumerable<T> source, Func<T, bool> filter)
我需要在我的功能中改变什么?
在这段代码中
杀=假
a = tr.Thread(target=func, args=(a, b, Kill), daemon=True)
a.start()
这是一个 tkinter 应用程序,所以我如何杀死这个线程,就像用什么命令来做到这一点。