我意识到它似乎是C#中字段和属性之间有什么区别的重复?但我的问题略有不同(从我的观点来看):
一旦我知道了
是否有任何区别(风格/未来发展除外),如设置属性时的某种控制类型?
是否有任何额外的区别:
public string MyString { get; set; }
Run Code Online (Sandbox Code Playgroud)
和
public string myString;
Run Code Online (Sandbox Code Playgroud)
(我知道,第一个版本需要C#3.0或更高版本,并且编译器会创建私有字段.)
在阅读项目时,我发现了一些奇怪的C#代码:
public class F : IElement
{
public int CurrentHp { get; } = 10;
public bool IsDead => CurrentHp <= 0;
}
Run Code Online (Sandbox Code Playgroud)
通常我会写一些类似的东西:
public class F : IElement
{
public const int CurrentHp = 10;
public bool IsDead
{
get { return CurrentHp <= 0; }
}
}
Run Code Online (Sandbox Code Playgroud)
我的Visual Studio 2013也无法识别第一个示例.
这个语法是什么,我该怎么做才能使这个项目可构建?
今天我第一次看到类似的东西:
private string m => string.Empty;
Run Code Online (Sandbox Code Playgroud)
使用lambda初始化变量.为什么这样做,有什么好处?
这两种添加方式有什么区别?
private string abc => "def";
Run Code Online (Sandbox Code Playgroud)
和
private string abc = "def";
Run Code Online (Sandbox Code Playgroud) 我在.NET 4.6.1 C#项目中看到过这种属性声明
public object MyObject => new object();
Run Code Online (Sandbox Code Playgroud)
我习惯于声明这样的只读属性:
public object MyObject { get; }
Run Code Online (Sandbox Code Playgroud)
我知道两者之间存在一些差异(第一个创建一个新对象),但我想要更深入的解释以及何时使用其中任何一个的一些迹象.
前几天我正在看某人的图书馆,他们有这个:
internal static string BaseUrl => "https://api.stripe.com/v1";
public static string Invoices => BaseUrl + "/invoices";
Run Code Online (Sandbox Code Playgroud)
是不是=>只是作为赋值=运算符?这不是一样的:
internal static string BaseUrl = "https://api.stripe.com/v1";
public static string Invoices = BaseUrl + "/invoices";
Run Code Online (Sandbox Code Playgroud)
从来没有见过这个.
我在下面的例子中看到了一个运算符 =>:
public int Calculate(int x) => DoSomething(x);
Run Code Online (Sandbox Code Playgroud)
或者
public void DoSoething() => SomeOtherMethod();
Run Code Online (Sandbox Code Playgroud)
除了在 Lamba 表达式中,我以前从未见过像这样使用这个运算符。
以下有什么作用?应该在哪里、什么时候使用?
嗨,我不是C#的专家,我发现这段代码,并不真正理解它的作用.
我之前从未见过=>c#中的运算符.就像一个重定向?
public byte[] methodA(byte[] data) =>
this.methodB(data);
Run Code Online (Sandbox Code Playgroud) c# ×10
c#-6.0 ×3
lambda ×2
.net ×1
c#-3.0 ×1
field ×1
function ×1
properties ×1
reflection ×1
syntax ×1