我有两组控件。
第一个包含 3 个名为 a、b 和 c 的文本框。它们都可以同时启用或禁用。
第二组包含 2 个文本框(d 和 e)。一次启用一个且只有一个。
现在,我有一个布尔变量(名为 ok),如果:
- 至少启用 a、b 和 c 之一并且包含文本
- 启用的第二组的文本框包含文本
- 在不包含文本的情况下无法启用任何内容
我想在一个电话中检查所有内容。
这是我得到的:
bool ok =
(
(
(
(!a.IsEnabled ||
(a.IsEnabled && !String.IsNullOrWhiteSpace(a.Text))) &&
(!b.IsEnabled ||
(b.IsEnabled && !String.IsNullOrWhiteSpace(b.Text))) &&
(!c.IsEnabled ||
(c.IsEnabled && !String.IsNullOrWhiteSpace(c.Text))) &&
(a.IsEnabled || b.IsEnabled || c.IsEnabled)
)
) &&
(
(!d.IsEnabled ||
(d.IsEnabled && !String.IsNullOrWhiteSpace(d.Text))) &&
(!f.IsEnabled ||
(f.IsEnabled && !String.IsNullOrWhiteSpace(f.Text)))
)
);
它的眼睛很重,关于如何简化它的任何想法?