相关疑难解决方法(0)

在属性签名中C#中的=>赋值是什么

我遇到了一些代码

public int MaxHealth => 
         Memory[Address].IsValid ? 
         Memory[Address].Read<int>(Offs.Life.MaxHp) : 
         0;
Run Code Online (Sandbox Code Playgroud)

现在我对Lambda表达式有点熟悉了.我只是没有看到它以这种方式使用它.

上述陈述与之间的区别是什么?

public int MaxHealth  = x ? y:z;
Run Code Online (Sandbox Code Playgroud)

c# c#-6.0

213
推荐指数
5
解决办法
11万
查看次数

不同getter风格之间C#的差异

我有时会在getter的属性中看到缩写.例如这两种类型:

public int Number { get; } = 0

public int Number => 0;
Run Code Online (Sandbox Code Playgroud)

如果这两者之间有任何差异,有人可以告诉我.他们的表现如何?它们都是只读的吗?

c# getter coding-style shorthand

153
推荐指数
3
解决办法
1万
查看次数

IL级别上的表达体语法与Getter语法有什么区别?

我想了解一下IL代码.

所以你看到表达bodied的代码比GetOld代码少.是否在那里进行了一些优化并且意味着表达体语法更高效?

或者它真的没关系?

namespace DatabaseModules {
    public class Test {
        public IList<string> _cache = new List<string>();

        public Test() {

        }

        public IList<string> Get => _cache;

        public IList<string> GetOld {
            get { return _cache; }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

并使用DotPeek生成IL代码

https://gist.github.com/anonymous/9673389a1a21d0ad8122ec97178cfd9a

c# cil

3
推荐指数
2
解决办法
270
查看次数

标签 统计

c# ×3

c#-6.0 ×1

cil ×1

coding-style ×1

getter ×1

shorthand ×1