使用大括号的string.Format错误

4

我正试图构建一个由两个字符串组成的字符串,但程序报错......以下是我的代码

 StringBuilder str = new StringBuilder();          
            str.AppendFormat("{0}",GetAccessor(attr, rootTblName)).AppendLine();                
            str.Append("}").AppendLine();

            return str.ToString();


 private string GetAccessor(DataAttribute attr, string rootTblName)
        {
            return string.Format("get { return {0}.{1}; }", 
                GetRootPvtMember(rootTblName), 
                attr.MdlPart.InternalName
            );
        }

错误:输入字符串格式无效......由于获取访问器返回字符串中的“{”,“}”而失败,如果不包含它们,则可以正常工作,但我需要这样。请问是否有解决方法......

你应该接受下面给出的答案之一。我也看到你在以前的问题中几乎没有接受答案,请在适用的情况下接受答案。 - Abdusalam Ben Haj
我知道它不允许我在问题提出后的11分钟内进行操作,我尝试过。 - mandava
2个回答

10

在格式化文本时,使用双括号{{来转义大括号。


假设错误消息来自数据库,我们如何用双括号进行转义。我们无法在数据库中进行更新,因为它在其他场景中正在使用。 - Ashok Yaganti

6

使用{{}}来转义它们。

这样就可以正常工作了。

例如:

string.Format("get {{ return {0}.{1}; }}", ....

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接