[英]c#: string format
我遇到了一個代碼。 任何人都可以對此有所了解。 如果有人發現它有點基本,那就好。
string str= String.Format("{0,2:X2}", (int)value);
感謝您的時間。
X
格式返回value
十六進制表示。
例如String.Format("{0:X}", 10)
將返回"A"
,而不是"10"
如果您的十六進制表示少於兩個符號, X2
將在左側添加零
例如String.Format("{0:X2}", 10)
將返回"0A"
,而不是"A"
0,2
將添加空格的左側,如果所得到的符號數是小於2。
例如String.Format("{0,3:X2}", 10)
將返回" 0A"
,但不返回"0A"
因此,如果結果只有一個符號,那么這個格式{0,2:X2}
將以十六進制表示法的形式返回你的值,如果它只是一個符號則從左邊附加一個零,如果它是一個符號則從左邊附加空格。 在多次閱讀之后,您可以看到, ,2
是冗余的,這種格式可以簡化為{0:X2}
而不改變行為。
一些說明:
:
分隔應用於該對象的索引編號和特定格式。 例如這段代碼
String.Format("{0:X} {1:N} {0:N}", 10, 20)
顯示,我想以十六進制格式化10
(索引0),然后以數字方式顯示20
(索引1),然后以數字方式格式化10
(索引0)。
0,2
從半列的左側部分指示索引位置0
和格式,2
應用於結果字符串 ,而不是特定對象。 所以這段代碼
String.Format("{0,1} {1,2} {0,4}", 10, 20)
將打印帶有至少一個符號的第一個數字,第二個帶有至少兩個符號,然后再打印第一個帶有至少四個符號的數字。 如果結果字符串中的符號數量較少 - 它們將由空格填充。
{0,2:X2}
它分裂成
0,2
- 將數字10
格式化為10
X2
- 將數字10
格式化為十六進制值0A
。 碼
String.Format("{0,2:X2}", (int)value); // where value = 10
結果: 0A
實例: http : //ideone.com/NW0U26
我的結論
您可以將"{0,2:X2}"
更改為"{0:X2}"
, 此處為實例 。
參考鏈接: MSDN
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.