我是 C# 开发人员。我真的很喜欢花括号,因为我来自 C、C++ 和 Java 背景。但是,我也喜欢 .NET 家族的其他编程语言,例如 VB.NET。如果您已经在 .NET 中编程了一段时间,那么在 C# 和 VB.NET 之间来回切换并不是什么大问题。在我工作的公司里,这是非常普遍的做法。作为 C# 专家,我非常喜欢 VB.NET 编译器提供的 XML 文字和 with
关键字。我希望 Microsoft 也将这些功能包括在 C# 中。
我很好奇,其他开发人员对此有何评论!
最佳答案
我个人不喜欢 WITH 在构造之后使用它 - 如果您需要在对象初始化后对它执行几项操作,通常该行为应该封装在类型本身中。如果您真的想做类似 WITH 的事情,只需声明一个短变量并选择性地引入一个新范围即可。
但是, 能够紧凑地初始化具有多个属性的对象很有用 - 这正是 C# 3 允许您编写的原因:
MyObject x = new MyObject { Name="Fred", Age=20, Salary=15000 };
这有一些限制(C# 4 中的可选参数和命名参数将有助于克服这些限制),但它比以前更好,不会导致潜在的困惑/歧义。
(在 XML 文字方面,我再次与 C# 团队在一起 - XML 是一种非常特殊的技术,可以放入一种语言中。如果他们能想出一个通用的形式,恰好创建 XML 但也可用于创建其他树,那会很好——就像查询表达式不直接绑定(bind)到 IEnumerable 或 IQueryable 一样。)
关于c# - 为什么 with() 构造不包含在 C# 中,而它在 VB.NET 中真的很酷?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/429890/