这是什么意思??
var cdParams = (includeUniversals)
? new[] {pageDictionary[pageName], pageDictionary[CNNService.UniversalPage.Name]}
: new[] {pageDictionary[pageName]};
基本上它归结为什么?意思是什么 new[] 是什么意思?
这是什么意思??
var cdParams = (includeUniversals)
? new[] {pageDictionary[pageName], pageDictionary[CNNService.UniversalPage.Name]}
: new[] {pageDictionary[pageName]};
基本上它归结为什么?意思是什么 new[] 是什么意思?
它大致相当于:
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
计算为真,则返回一个新的匿名对象数组包含pageDictionary[pageName]
,pageDictionary[CNNService.UniversalPage.Name]
否则返回一个新的匿名对象数组包含pageDictionary[pageName]
那就是你要找的东西?
var cdParams // type inferred by the compiler
= (includeUniversals) ? // if includeUniversals is true
// then cdParams = new a new array with 2 values coming from a dictionary
new[] { pageDictionary[pageName], pageDictionary[CNNService.UniversalPage.Name] }
// otherwise, cdParams = a new array with one value
: new[] { pageDictionary[pageName] };
取决于includeUniversals
,cdParams
将是一个包含两个值的数组,即pageDictionary[pageName]
和pageDictionary[CNNService.UniversalPage.Name]
- 或,它将是一个包含一个值的数组,即pageDictionary[pageName]
。