C#中 s +=string.Format("0,1*1,1=2,-4",j,i,j*i)是啥意思?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中 s +=string.Format("0,1*1,1=2,-4",j,i,j*i)是啥意思?相关的知识,希望对你有一定的参考价值。

这是在做九九乘法表时用到的一个语句,具体是什么意思?请高手详细点说明白,小弟感激涕零!

s
+=
(string.format("0*1=2",
i,
j,
i
*
j)).padright(8);
分解开来

string.format("0*1=2",
i,
j,
i
*
j)
string.format是格式化字符串,0代表字符串后边第一个参数,就是i,1第二个,2第三个
比如i=2,j=3的话,string.format("0*1=2",
i,
j,
i
*
j)
=
"2*3=6"

padright(8)向右补足字符串,比如刚才的字符串"2*3=6"长度为5,则在右边补3个空格,达到长度为8:"2*3=6
"

s
+=
xxx
相当于
s
=
s
+
xxx
---------------
合起来就是...
s赋值为原值加上
"i*j=结果"补足到八位长
参考技术A "0,1*1,1=2,-4"
每一个大括号叫做复合格式设置字符串

每个格式项都采用下面的形式并包含以下组件:

索引[,对齐][:格式字符串]

按照这个定义就可以知道他的含义了先翻译一下
j,1*i,1=j*i,-4

下面就看,后面的含义了,知道了他是对齐的意思,那么具体是怎么对齐的呢?
对齐组件
可选的“对齐”组件是一个带符号的整数,指示首选的设置了格式的字段宽度。 如果“对齐”值小于设置了格式的字符串的长度,“对齐”会被忽略,并且使用设置了格式的字符串的长度作为字段宽度。 如果“对齐”为正数,字段中设置了格式的数据为右对齐;如果“对齐”为负数,字段中的设置了格式的数据为左对齐。 如果需要填充,则使用空白。如果指定“对齐”,就需要使用逗号。

根据上面的我们就知道了
j,1*i,1=j*i,-4他的意思就是
j的值占1位右对齐
i的值占1位右对齐
j*i的值占4位左对齐,

就可以看到的结果是,设j=8,i=9
8*9=72空格空格本回答被提问者采纳
参考技术B 0,1表示后面的第一个参数,所占得位数是一个字符,并且靠右对齐;
1,1表示后面的第二个参数,所占的位数是两个字符,并且靠右对齐;
2,-4表示后面的第三个参数,所占位数是四个字符,并且靠左对齐;

最后是把得到的格式化字符和S拼接起来了
参考技术C 0代表后面第一个参数,也就是j的值,1代表后面第二个参数,也就是后面的i,具体这句话什么意思,自己再看看吧

C# 中字符格式化多个括号报错

string s = "0"
string ss = string.Format(s,1)

上面情况运行会出现崩溃

修改方式:将单独拿出来

string s = "0"
string ss = string.Format(s,1)
s = s + ""

 

 

以上是关于C#中 s +=string.Format("0,1*1,1=2,-4",j,i,j*i)是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

在C#中怎么控制float的值保留小数的位数

C#中String和string有啥区别?

求java高手解答

C#中的String.Format方法输入日志标题

C#中string.Format 用法详解

C#中string.format用法详解 [转载]