Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 请帮我解释一下这个C表达式_C# - Fatal编程技术网

C# 请帮我解释一下这个C表达式

C# 请帮我解释一下这个C表达式,c#,C#,这是什么意思 var cdParams = (includeUniversals) ? new[] {pageDictionary[pageName], pageDictionary[CNNService.UniversalPage.Name]} : new[] {pageDictionary[pageName]}; 基本上可以归结为什么?新[]的意思是什么?这是一个很好的例子。如果条件为true,则执行第一种情况。如果为false,则执行第二种情况。这是一个错误。如果条件为true,则执行

这是什么意思

var cdParams = (includeUniversals) 
? new[] {pageDictionary[pageName], pageDictionary[CNNService.UniversalPage.Name]}
: new[] {pageDictionary[pageName]};
基本上可以归结为什么?新[]的意思是什么?

这是一个很好的例子。如果条件为true,则执行第一种情况。如果为false,则执行第二种情况。

这是一个错误。如果条件为true,则执行第一种情况。如果为false,则执行第二种情况。

如果布尔includeUniversals的计算结果为true,则返回一个包含pageDictionary[pageName]和pageDictionary[CNNService.UniversalPage.Name]的新匿名对象数组,否则返回一个包含pageDictionary[pageName]的新匿名对象数组

这就是您要查找的吗?

如果布尔值includeUniversals的计算结果为true,则返回一个包含pageDictionary[pageName]和pageDictionary[CNNService.UniversalPage.Name]的新匿名对象数组,否则返回一个包含pageDictionary[pageName]的新匿名对象数组


这就是你想要的?

大致相当于:

Foo[] cdParams;  // Use the correct type instead of Foo. NB: var won't work here.
if (includeUniversals) { 
    dParams = new Foo[2];
    dParams[0] = pageDictionary[pageName];
    dParams[1] = pageDictionary[CNNService.UniversalPage.Name];
} else {
    dParams = new Foo[1];
    dParams[0] = pageDictionary[pageName];
}

这大致相当于:

Foo[] cdParams;  // Use the correct type instead of Foo. NB: var won't work here.
if (includeUniversals) { 
    dParams = new Foo[2];
    dParams[0] = pageDictionary[pageName];
    dParams[1] = pageDictionary[CNNService.UniversalPage.Name];
} else {
    dParams = new Foo[1];
    dParams[0] = pageDictionary[pageName];
}
见和


请参阅和。

根据includeUniversals,cdParams将是一个包含两个值的数组,即pageDictionary[pageName]和pageDictionary[CNN服务.UniversalPage.Name]——或者,它将是一个包含一个值的数组,即pageDictionary[pageName]。

根据includeUniversals,cdParams将是一个包含两个值的数组,即pageDictionary[pageName]和pageDictionary[CNNService.UniversalPage.Name]——或者,它将是一个包含一个值的数组,即pageDictionary[pageName]。

表达式的哪一部分有问题?这个操作人员新的[]运算符?取决于includeUniversals,您的cdParam要么是两个值的数组,要么是在PageDictionary中仅包含一个值的数组,该值是您在表达式的哪一部分遇到问题的值?这个操作人员新的[]运算符?取决于includeUniversals,您的cdParam要么是两个值的数组,要么是只有一个值的数组,而不管您在其中作为值的类型是什么pageDictionary@PeterLaCombJr.:new[]表示它推断类型。它可能不是对象,而是其他类型。我已经更新了代码,使其更加明确。我想我从来没有注意到这一点,而且我的使用总是导致object[]。谢谢。再看看这个问题,富可能是佩奇。不管它是什么。@PeterLaCombJr.:new[]意味着它推断类型。它可能不是对象,而是其他类型。我已经更新了代码,使其更加明确。我想我从来没有注意到这一点,而且我的使用总是导致object[]。谢谢。再看看这个问题,富可能是佩奇。不管那是什么。