我在单元测试中有大约20行代码我宁愿不重复切换一个布尔值true / false.
我可以把它分解成一个函数并调用它两次,但是meh.这个代码感觉更像是在迭代可能的值,而不是使用不同的参数执行不同的 *** 作.即使我有一个函数,我更喜欢循环可能值的语法,而不是只调用它两次.
我可以像这样写一个for循环……
bool toggle;for (int i = 0; i < 2; i++){ toggle = i == 1;}
但这似乎不是很干净.
我喜欢this syntax:
for (bool b : { false,true }) { /* ... */ }
但它看起来不会用C#编译.
编辑:
遵循Jeroen关于本地功能和Dmitry答案的建议,这是我走的路线:
[TestMethod]public voID GetAndSetValue(){ foreach (bool toggle in new [] { false,true }) { GetAndSetValue(toggle); } voID GetAndSetValue(bool toggle) { // details not important }}
合理的编码员可以辩论循环读取是否比两个函数调用更容易:
GetAndSetValue(false);GetAndSetValue(true);
我更喜欢这个循环,所以我会滚动它直到有人抱怨.干杯!
解决方法 正确的语法将是foreach,而不是:foreach (bool b in new [] { false,true }) { /* ... */}总结
以上是内存溢出为你收集整理的C#循环遍布bool值全部内容,希望文章能够帮你解决C#循环遍布bool值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)