Declaration Expressions 应该是叫宣告表达式。
直接看代码。
原先我们常写如下的式子:
先在外面宣告一个 long 型态的变量 id,再在 long.TryParse 裹使用他
现在可以直接写成:
这是另一个例子,直接在方法裹宣告变数类型 result
另外一个例子,先将 user.HomeAddress 指定给 address,接著再判断 address 是否为 null
又是另外一个例子,在 foreach 裹宣告 var odd
另外一个例子:
直接看代码。
原先我们常写如下的式子:
long id;
if (!long.TryParse(Request.QureyString["Id"], out id))
{ }
先在外面宣告一个 long 型态的变量 id,再在 long.TryParse 裹使用他
现在可以直接写成:
if (!long.TryParse(Request.QureyString["Id"], out long id))
{ }
这是另一个例子,直接在方法裹宣告变数类型 result
return int.TryParse(input, out var result) ? result : 0;
另外一个例子,先将 user.HomeAddress 指定给 address,接著再判断 address 是否为 null
if ((var address = user.HomeAddress) != null)
{
// work with address ...
return address.City;
}
又是另外一个例子,在 foreach 裹宣告 var odd
int result = 0;
foreach (var n in var odd = numbers.Where(n => n % 2 == 1).ToList())
{
result += n + odd.Count();
}
return result;
另外一个例子:
public string FormatMessage(string attributeName)
{
string result;
if(!Enum.TryParse<FileAttributes>(attributeName, out var attributeValue) )
{
result = string.Format(
"'{0}' is not one of the possible {2} option combinations ({1})",
attributeName, string.Join(",", string[] fileAtrributeNames =
Enum.GetNames(typeof (FileAttributes))),
fileAtrributeNames.Length);
}
else
{
result = string.Format("'{0}' has a corresponding value of {1}",
attributeName, attributeValue);
}
return result;
}