我看到一些代码说
public int MaxHealth =>
Memory[Address].IsValid ?
Memory[Address].Read<int>(Offs.Life.MaxHp) :
0;
现在我对Lambda表达式有点熟悉了。我只是没见过它这样使用。
上述陈述和两者之间的区别是什么
public int MaxHealth = x ? y:z;
我看到一些代码说
public int MaxHealth =>
Memory[Address].IsValid ?
Memory[Address].Read<int>(Offs.Life.MaxHp) :
0;
现在我对Lambda表达式有点熟悉了。我只是没见过它这样使用。
上述陈述和两者之间的区别是什么
public int MaxHealth = x ? y:z;
6.0版获得了nameof的新功能,但我不能理解它的目的,因为它只是接受变量名并在编译时将其更改为字符串。
我认为它在使用<T>时可能有一些目的,但当我尝试命名(T)时,它只是打印我一个T而不是使用的类型。
知道目的吗?
在VS2015预览版的c# 6.0中,我们有了一个新的操作符?,可以这样使用:
public class A {
string PropertyOfA { get; set; }
}
...
var a = new A();
var foo = "bar";
if(a?.PropertyOfA != foo) {
//somecode
}
它到底是做什么的?
我很困惑为什么这段代码不能编译:
var result = $"{fieldName}{isDescending ? " desc" : string.Empty}";
如果我把它分开,它可以正常工作:
var desc = isDescending ? " desc" : string.Empty;
var result = $"{fieldName}{desc}";