我提出这个问题的唯一原因是因为很难明确表达,以便有效地谷歌搜索它.
假设我有1000个不同的变量(1000个整数)并且说我们知道其中只有1个不是null.
如何找到特定变量来获取其值?
我考虑将所有这些变量插入到数组中并遍历它直到找到正确的变量,但我想知道是否有更有效的解决方案.
首先,我感谢大家的答案.我很抱歉,但我没有准确地描述我的问题.我有一个具有7个属性的对象(我只写了1000个以强调有超过3个变量的事实 - 显然我夸大了......).无论如何,我可以检查这些属性中的每一个,或者我可以做什么......相反?再次感谢,对不起,我误导了你们 - 我的坏人.
var value = yourList.First(i => i != null);
Run Code Online (Sandbox Code Playgroud)
假设您的列表是可空类型(int?或类似).
编辑:正如我的回答中提到的,您可以使用反射来获取所有属性,但是由于您要求最佳解决方案,我会说您应该将变量填充到列表(或数组)中,并使用上面的代码查找第一个不为空.
如果你必须确保只有一个not-null你可以使用Single(),但First()如果你不需要仔细检查是否还有更多的值,则更有效.