başlık, bir ağız dolusu ve doğru olduğundan emin bile değil (this'dan fazla bir şey ifade edemedi), bu yüzden C#
'da neyi başarmak istediğimi açıklamaya çalışacağım javascript
. Bu soruya neleri koymam gerektiği ile ilgili herhangi bir öneri çok hoş geldiniz.C# inline lambda ifadesi
string key = (function(entity) {
switch(entity) {
case "a":
return "foo";
case "b":
return "bar";
default:
return "baz";
}
}(/* "a", "b", or something else */));
:
Func<string, string> getKey = entity => {
switch(entity) {
case "a":
return "foo";
case "b":
return "bar";
default:
return "baz";
}
};
string key = getKey(/* "a", "b", or something else */);
Şimdi açıkça getKey
işlevi tanımlayın ama bu eşdeğer javascript
snippet'indeki olduğu gibi anonim kullanmak istemiyorum varsayalım: C#
yılında
, bu fonksiyon tanımladıysanız demek
C#
numaralı telefondan bunu nasıl yazarım? Denedim:
string key = (entity => {
switch(entity) {
case "a":
return "foo";
case "b":
return "bar";
default:
return "baz";
}
})(/* "a", "b", or something else */);
ama sözdizimi hatası CS0149: Method name expected
olsun.
Şimdiden teşekkürler, şerefe.
C# inline lambda ifadesi olarak adlandırabilirsiniz – DDan