有时,当帮助另一个程序员编写代码时,我会指示我希望他们输入什么.有时这可能是一个令人沮丧的练习,直到程序员习惯了你如何用语言表达代码(即"分配5到x"对比"x等于5" ).我还没想到的一件事是如何在C#中有效地发音lambda表达式.
例如,如果我想(x, y) => x * y输入,这是我尝试过的各种事情:
我:Lambda表达式取x和y,得x倍y
他:"嗯?"
我:代表服用x和y,返回x倍y
他:
delegate(x, y) { return x * y; }x和y是什么类型的?我:x和y的元组,右箭头x乘y
他:"呃?"
我:打开paren,x,逗号,y,close-paren,右箭头x次y
他:(x,y) - > x*y
我:呃,双箭头?
他:>>
我:叹气......等于大于
他:(哦,大于或等于?)> =
我:好的,让我开车一会儿!
有问题的程序员知道lambda表达式是什么,但是它们很难沟通.我相信我们会学习如何,但我甚至都不知道我是否正确行事.您是否找到了一种成功的方法来指示C#中这种相对较新的语言结构?或者更好的是,是否有一种语言中立的方式来发音lambda表达式?
我有一本以元组为键,还以元组为值的字典。我需要一种基于字典键访问字典值的方法。例如:
d = {}
d = { (1, 2) : ('A', 'B'),(3, 4) : ('C', 'B') }
Run Code Online (Sandbox Code Playgroud)
现在,首先,我需要检查(1, 2)字典中是否已经存在键。
就像是:
if d.has_key(1,2)
print d[1]
print d[2]
Run Code Online (Sandbox Code Playgroud)