这个问题已经在这里有了答案:
9年前关闭。
我觉得我应该知道这一点,但我发现用谷歌搜索是不可能的。
以下是我遇到的一些Linq代码的摘录:
private static readonly Func<SomeEntities, someThing, List<someThing>> GetReplacement =
(someEntities, thing) => someEntities.someReplacement.Join(someEntities.someThing,
replaces => replaces.new_thing_id,
newThing => newThing.thing_id,
(rep, newThing) => new {rep, newThing}).Where(
@t => @t.rep.thing_id == thing.thing_id).
Select
(
@t => @t.newThing
).ToList().Distinct(new SomeThingComparer()).ToList();
在这种情况下,“@”前缀是什么意思?
最佳答案
通常,如果您需要使用关键字作为标识符(例如变量名),则使用@
前缀:
string @string = "...";
C# spec表示以下内容(强调我的意思):
由于
t
不是关键字,因此我想在您的示例中删除@
。关于c# - Linq,lambda和@,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9092527/