【问题标题】:C# custom text preposition formatC# 自定义文本介词格式
【发布时间】:2013-01-31 07:36:18
【问题描述】:

我需要制作如下图所示的文字

然后我制作这样的字符串文本

string teksnya = "Payment Statement\nSudah " + metode + " Ke Rekening " + RekeningRekber + " MONEX BANK a.n IMANULLAH\n » Harga Barang/Jasa " + hargabarang + " Jasa " + lintascabank+" \n » Total biaya transfer : " + totalpembayaran + " \n » Untuk Pembelian : " + pembelian + " \n » Keterangan Barang/Jasa : " + keterangan + " \n » ID KASKUS Pembeli : " + idbuyer + " \t Email pembeli : " + emailbuyer + " \n » Hp Pembeli : " + nomorhandphonebuyer + " \n ======================================================== \n » BANK Penjual : " + bankseller + " \n » ID KASKUS Penjual : " + idseller + " \n » Email Penjual : " + emailseller + " \t No Hp : " + nomorhandphoneseller + " \n »link thread : " + linklapak + " \n \n Mohon MONEX BANK segera Teruskan Konfirmasi ini ke Penjual, Untuk memproses Barang/Jasa sesuai kesepakatan";

为什么结果与图片不同?为什么\n 不起作用? 这是结果

当我将它们复制粘贴到记事本上时,文本位置仍然与第一张图片不同。请帮助如何使显示的文本与第一张图片完全相同。

谢谢!

更新:

这是我当前的字符串

   string teksnya = "Payment Statement{0}Sudah " + metode + " Ke Rekening " + RekeningRekber + " MONEX BANK a.n IMANULLAH{0} » Harga Barang/Jasa " + hargabarang + " Jasa " + lintascabank + " {0} » Total biaya transfer : " + totalpembayaran + " {0} » Untuk Pembelian : " + pembelian + " {0} » Keterangan Barang/Jasa : " + keterangan + " {0} » ID KASKUS Pembeli : " + idbuyer + " \t Email pembeli : " + emailbuyer + " {0} » Hp Pembeli : " + nomorhandphonebuyer + " {0} ======================================================== {0} » BANK Penjual : " + bankseller + " {0} » ID KASKUS Penjual : " + idseller + " {0} » Email Penjual : " + emailseller + " \t No Hp : " + nomorhandphoneseller + " {0} »link thread : " + linklapak + " {0} {0} Mohon MONEX BANK segera Teruskan Konfirmasi ini ke Penjual, Untuk memproses Barang/Jasa sesuai kesepakatan"+Environment.NewLine;

即使我遵循microsoft 教程仍然无法工作:(

【问题讨论】:

    标签: c# string text position


    【解决方案1】:

    请使用Environment.NewLine 而不是"\n""\r\n",因为换行符取决于平台。使用Environment.NewLine 可确保您的程序也可以在 Linux 或其他平台(单声道)上运行。

    【讨论】:

    • 它不起作用,这是我的代码string teksnya = ("THESTATEMENT".Environtment.NewLine);
    • 你应该写:string teksnya = "THESTATEMENT" + Environtment.NewLine;
    • @Cignitor 我不确定您是如何在评论中提出该代码的,但您应该使用 + 连接字符串。
    • 是的,我如何使我的字符串与第一张图片的格式相同?
    【解决方案2】:

    也可以尝试使用回车:

    \n\r
    

    而不是简单的

    \n
    That is, your statement should look like this:
    string teksnya = "Payment Statement\n\rSudah " + metode + " Ke Rekening " + RekeningRekber + " MONEX BANK a.n IMANULLAH\n\r » Harga Barang/Jasa " + hargabarang + " Jasa " + lintascabank+" \n\r » Total biaya transfer : " + totalpembayaran + " \n\r » Untuk Pembelian : " + pembelian + " \n\r » Keterangan Barang/Jasa : " + keterangan + " \n\r » ID KASKUS Pembeli : " + idbuyer + " \t Email pembeli : " + emailbuyer + " \n\r » Hp Pembeli : " + nomorhandphonebuyer + " \n\r ======================================================== \n\r » BANK Penjual : " + bankseller + " \n\r » ID KASKUS Penjual : " + idseller + " \n\r » Email Penjual : " + emailseller + " \t No Hp : " + nomorhandphoneseller + " \n\r »link thread : " + linklapak + " \n\r \n\r Mohon MONEX BANK segera Teruskan Konfirmasi ini ke Penjual, Untuk memproses Barang/Jasa sesuai kesepakatan";
    

    无论如何,我会使用string.Format() 而不是连接这么多字符串。

    稍后编辑: 我同意 Environment.NewLine 更好。您仍然应该使用 string.Format ,甚至可以利用使用字段来指定固定宽度的可能性。检查{index[,length][:formatString]} 规范。

    好的,这是你的最终代码:

        string teksnya = string.Format("Payment Statement{0}Sudah {1} Ke Rekening {2} MONEX BANK a.n IMANULLAH{0} » Harga Barang/Jasa {3} Jasa {4} {0} » Total biaya transfer : {5} {0} » Untuk Pembelian : {6} {0} » Keterangan Barang/Jasa : {7} {0} » ID KASKUS Pembeli : {8} \t Email pembeli : {9} {0} » Hp Pembeli : {10} {0} ======================================================== {0} » BANK Penjual : {11} {0} » ID KASKUS Penjual : {12} {0} » Email Penjual : {13} \t No Hp : {14} {0} »link thread : {15} {0} {0} Mohon MONEX BANK segera Teruskan Konfirmasi ini ke Penjual, Untuk memproses Barang/Jasa sesuai kesepakatan",
            Environment.NewLine
            , metode
            , RekeningRekber
            , hargabarang
            , lintascabank
            , totalpembayaran
            , pembelian
            , keterangan
            , idbuyer
            , emailbuyer
            , nomorhandphonebuyer
            , bankseller
            , idseller
            , emailseller
            , nomorhandphoneseller
            , linklapak);
    

    【讨论】:

    • 更好:使用StringBuilder 及其AppendFormat() 方法。
    • @Filburt,是的,这也是一个很好的方法,但我个人更喜欢 string.Format 因为它是一个单一的方法调用。对于一长串参数,我每行放一个参数。这样,格式字符串可以轻松且一致地更改,并且参数列表与调用 10 次 AppendFormat 一样可读。简而言之,这更容易维护代码和微调结果字符串。
    • 查看我为您准备的代码,未经测试,但应该可以正常工作
    【解决方案3】:

    我已经好几年没用过\r\n\r了。

    我更喜欢Environment.NewLine

    http://msdn.microsoft.com/en-us/library/system.environment.newline.aspx

    【讨论】:

      【解决方案4】:

      将“\n”替换为“\r\n”以获得正确的换行符。

      【讨论】:

        猜你喜欢
        • 2016-10-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多