3
为什么此条件(null ||!TryParse)会导致“使用未分配的局部变量”?
以下代码导致使用未分配的局部变量“ numberOfGroups”: int numberOfGroups; if(options.NumberOfGroups == null || !int.TryParse(options.NumberOfGroups, out numberOfGroups)) { numberOfGroups = 10; } 但是,此代码可以正常工作(尽管ReSharper说的= 10是多余的): int numberOfGroups = 10; if(options.NumberOfGroups == null || !int.TryParse(options.NumberOfGroups, out numberOfGroups)) { numberOfGroups = 10; } 我是否缺少某些东西,或者编译器不喜欢我的东西||? 我将范围缩小到dynamic导致问题的范围(options在我上面的代码中是一个动态变量)。问题仍然存在,我为什么不能这样做? 该代码无法编译: internal class Program { #region Static Methods private static void Main(string[] args) { …