我有这个API函数: public ResultEnum DoSomeAction(string a, string b, DateTime c, OtherEnum d, string e, string f, out Guid code) 我不喜欢 因为参数顺序变得不必要地重要。添加新字段变得越来越困难。很难看到正在传递的内容。很难将方法重构为较小的部分,因为这会带来在子函数中传递所有参数的另一项开销。代码更难读。 我想到了一个最明显的想法:让一个对象封装数据并将其传递,而不是一个个地传递每个参数。这是我想出的: public class DoSomeActionParameters { public string A; public string B; public DateTime C; public OtherEnum D; public string E; public string F; } 这使我的API声明减少为: public ResultEnum DoSomeAction(DoSomeActionParameters parameters, out …
如何在不创建其他变量的情况下处理此错误? func reduceToZero(x:Int) -> Int { while (x != 0) { x = x-1 // ERROR: cannot assign to 'let' value 'x' } return x } 我不想创建其他变量只是为了存储x的值。有可能做我想做的事吗?
我的理解是Python字符串是不可变的。 我尝试了以下代码: a = "Dog" b = "eats" c = "treats" print a, b, c # Dog eats treats print a + " " + b + " " + c # Dog eats treats print a # Dog a = a + " " + b + " " …