这个问题已经在这里有了答案:




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/

10-10 21:36