如何去掉单行语句中的大括号?
How to Remove Braces on Single-Line Statement?
谁能建议如何从任何单行语句中删除大括号? (排除明显的只需手动删除大括号)
在 Visual Studio 中使用 C#。
所以代替:
if (thingy is null)
{
throw new ArgumentNullException(nameof(thingy));
}
有备选方案:
if (thingy is null)
throw new ArgumentNullException(nameof(thingy));
我已尝试 运行 CodeMaid 并更改了 CodeCleanup(只是将其改回带有大括号)。
我很乐意尝试任何推荐的扩展程序等来解决这个问题。
这不是 Visual Studio 中的标准重构。但是有添加这个的扩展。
例如。 Roslynator 进行了 Remove Brances 重构。
如果您使用的是 Visual Studio 2019 预览版,那么只需 2 个简单的步骤即可满足您的需求。
你不应该养成在单行条件语句中省略大括号的习惯。某人(您或其他人)很容易犯一个小错误,这会导致您以后必须处理的错误。
现在我将离开我的肥皂盒并分享一个更短的 null 守卫:
public void MyFunction(object thingy)
{
_ = thingy ?? throw new ArgumentNullException(nameof(thingy));
etc...
简洁明了,没有遗漏支撑问题的风险。对于字符串,我将使用扩展方法来获得相同的衬垫。
public static string NullIfWhiteSpace(this string s)
{
return string.IsNullOrWhiteSpace(s) ? null : s;
}
那我可以做:
public void MyFunction(string stringy)
{
_ = stringy.NullIfWhiteSpace() ?? throw new ArgumentNullException(nameof(stringy));
etc...
我会为空列表和字典做类似的事情。
谁能建议如何从任何单行语句中删除大括号? (排除明显的只需手动删除大括号)
在 Visual Studio 中使用 C#。
所以代替:
if (thingy is null)
{
throw new ArgumentNullException(nameof(thingy));
}
有备选方案:
if (thingy is null)
throw new ArgumentNullException(nameof(thingy));
我已尝试 运行 CodeMaid 并更改了 CodeCleanup(只是将其改回带有大括号)。 我很乐意尝试任何推荐的扩展程序等来解决这个问题。
这不是 Visual Studio 中的标准重构。但是有添加这个的扩展。
例如。 Roslynator 进行了 Remove Brances 重构。
如果您使用的是 Visual Studio 2019 预览版,那么只需 2 个简单的步骤即可满足您的需求。
你不应该养成在单行条件语句中省略大括号的习惯。某人(您或其他人)很容易犯一个小错误,这会导致您以后必须处理的错误。
现在我将离开我的肥皂盒并分享一个更短的 null 守卫:
public void MyFunction(object thingy)
{
_ = thingy ?? throw new ArgumentNullException(nameof(thingy));
etc...
简洁明了,没有遗漏支撑问题的风险。对于字符串,我将使用扩展方法来获得相同的衬垫。
public static string NullIfWhiteSpace(this string s)
{
return string.IsNullOrWhiteSpace(s) ? null : s;
}
那我可以做:
public void MyFunction(string stringy)
{
_ = stringy.NullIfWhiteSpace() ?? throw new ArgumentNullException(nameof(stringy));
etc...
我会为空列表和字典做类似的事情。