Я читаю раздел «Выражения выражений» here.Уточнение в выражениях выражения
Он упоминает, что вы можете использовать их сейчас в «условных выражениях, нулевых коалесцирующих выражениях и некоторых лямбда-выражениях».
Но они не предоставили четких примеров для каждого, кроме одного, который они назвали условным, но я думаю, что это нулевой коалесцирующий. Во всяком случае, я хочу привести пример для каждого из трех.
Являются ли эти (в моих комментариях) правильно названными выражениями выражения экспрессии для условных выражений, нулевых коалесцирующих выражений и лямбда-выражений? Или я неправильно маркировал/смешивал?
public class Person
{
public string Name { get; }
// null coalescing expression.
public Person(string name) => Name = name ?? throw new ArgumentNullException(name);
// conditional expressions
public string GetFirstName()
{
var parts = Name.Split(new string[] { " " }, StringSplitOptions.None);
return (parts.Length > 0) ? parts[0] : throw new InvalidOperationException("No name!");
}
// Lambda
public string GetLastName() => throw new NotImplementedException();
}
Вы правильно. Вы также можете обратиться к [SO documentation] (http://stackoverflow.com/documentation/c%23/1936/c-sharp-7-0-features/20215/throw-expressions#t=201702020703012064675) Или последние - afaik- [Microsoft doc] (https://docs.microsoft.com/en-us/dotnet/articles/csharp/csharp-7#throw-expressions), связанный с выпуском C# 7.0 – uTeisT