C#循环遍布bool值
发布时间:2020-12-15 23:50:40 所属栏目:百科 来源:网络整理
导读:有没有简洁的方法在C#中循环使用true / false? 我在单元测试中有大约20行代码我宁愿不重复切换一个布尔值true / false. 我可以把它分解成一个函数并调用它两次,但是meh.这个代码感觉更像是在迭代可能的值,而不是使用不同的参数执行不同的操作.即使我有一个
有没有简洁的方法在C#中循环使用true / false?
我在单元测试中有大约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 }) { /* ... */ } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |