我想要实现的是合并三个字符串.两个作为字符串提供; firstname和lastname,而第三个是简单的逗号/空格分隔符.给出以下代码行:
//Working code var sep = ", "; var fullName = myNewBO[0].LastName + sep + myNewBO[0].FirstName; //Erronous code var fullName = myNewBO[0].LastName + ", " + myNewBO[0].FirstName;
该字符串将返回到DataGridView中的单元格.虽然第一位代码执行时已经过了,但后者却没有.字符串未按预期显示在单元格中.有人能告诉我为什么后者不起作用?此外,如果您有更好的解决方案,请提供一个.
编辑:解决了.正如所怀疑的,并且通过几个答案指出问题在我的代码中的其他地方,并且两个替代方案完全相同.谢谢你的语法建议:)
我更喜欢使用 string.Format("{0}, {1}",myNewBO[0].LastName,myNewBO[0].FirstName)
现在您可以抽象出格式字符串,如果您希望它是"First Last",例如您可以使用不同的格式字符串.
编辑为了回应你的实际错误,我喜欢这里的其他人没有看到你应该使用的代码行有什么问题,所以问题变成:"你如何将这个值绑定到网格?"
你是在Eval()或代码背后等做这个....
一个建议是添加一个ToString(string)方法,该方法接受格式字符串,然后您可以绑定到方法的评估.如果您的业务需求发生变化,您只需更改格式字符串即可.
string.Join(sep, new string[] {myNewBO[0].LastName, myNewBO[0].FirstName});