在比较两个集合中每个元素的字段/属性时,确定一个IEnumerable是否包含另一个IEnumerable的所有元素的最快方法是什么?
public class Item
{
public string Value;
public Item(string value)
{
Value = value;
}
}
//example usage
Item[] List1 = {new Item("1"),new Item("a")};
Item[] List2 = {new Item("a"),new Item("b"),new Item("c"),new Item("1")};
bool Contains(IEnumerable<Item> list1, IEnumerable<Item>, list2)
{
var list1Values = list1.Select(item => item.Value);
var list2Values = list2.Select(item => item.Value);
return //are ALL of list1Values in list2Values?
}
Contains(List1,List2) // should return true
Contains(List2,List1) // should return false
Run Code Online (Sandbox Code Playgroud) 我已经使用MacPorts卸载并重新安装了python_select,但它不会出现在/ opt/local/bin中.因此,我在尝试运行时遇到"未找到命令"错误.然而,MacPorts坚持认为它已安装.甚至尝试过卸载-f和port clean --all python_select.
是否有更激烈的步骤将其从MacPorts中删除并尝试重新安装?
具体来说,我想使用Gmail API 仅访问我自己的邮件.有没有办法在没有OAuth和API密钥和/或客户端ID和秘密的情况下执行此操作?
使用API密钥,如:
require('googleapis').gmail('v1').users.messages.list({ auth: '<KEY>', userId: '<EMAIL>') });
Run Code Online (Sandbox Code Playgroud)
产生以下错误:
{ errors:
[ { domain: 'global',
reason: 'required',
message: 'Login Required',
locationType: 'header',
location: 'Authorization' } ],
code: 401,
message: 'Login Required' }
Run Code Online (Sandbox Code Playgroud)
我想这条消息意味着他们想要一个有效的OAuth"授权"标题.我会这样做,但我想如果不提供网页就不可能.
我正在尝试完成以下操作:
- (id<SomeProtocol>)instanceFromClass:(Class<SomeProtocol>)cls
{
return [[cls alloc] initUsingSomeConstructorDefinedInProtocolWithValue:_value];
}
Run Code Online (Sandbox Code Playgroud)
但是,我收到一个No Known class method for selector 'alloc'
错误。如何在我的签名中指定我想要接收符合协议的类?或者,如果该部分是正确的,我如何使用指定协议中定义的构造函数从该参数创建实例?
.net ×1
c# ×1
class ×1
google-api ×1
google-oauth ×1
ienumerable ×1
linq ×1
macports ×1
node.js ×1
oauth-2.0 ×1
objective-c ×1
protocols ×1
python ×1