【发布时间】:2013-06-12 06:57:35
【问题描述】:
最近我花了一些时间发现一个棘手的行为,我做了这样的事情
public static string GetPrefixedNameList(string[] names, string prefix = null)
{
if (names == null || names.Length == 0)
return "";
return prefix ?? string.Empty + string.Join(", ", names);
}
很简单,我想 但我总是只得到前缀或空字符串,但从来没有加入名单
使其正常工作: 当它是一个中间结果时,总是用括号将“?? 评估部分”括起来!!
return (prefix ?? string.Empty) + string.Join(", ", names);
VS2012:没有警告,没有提示,加入名称部分被忽略了!!! 这似乎是编译器错误!!!
这不是一个真正的问题,也许其他人可以节省一些时间
【问题讨论】: