<p>Is there something similar to <code>sprintf()</code> in C#?</p>

<p>I would for instance like to convert an integer to a 2-byte byte-array.</p>

<p>Something like:</p>

<pre><code>int number = 17;
byte[] s = sprintf("%2c", number);
</code></pre>

```
```
string s = string.Format("{0:00}", number)
```
```
The first 0 means "the first argument" (i.e. number); the 00 after the colon is the format specifier (2 numeric digits).
However, note that .NET strings are UTF-16, so a 2-character string is 4 bytes, not 2
(edit: question changed from
```
string
```
to
```
byte[]
```
)
To get the bytes, use
```
Encoding
```
:
```
```
byte[] raw = Encoding.UTF8.GetBytes(s);
```
```
(obviously different encodings may give different results; UTF8 will give 2 bytes for this data)
Actually, a shorter version of the first bit is:
```
```
string s = number.ToString("00");
```
```
But the
```
string.Format
```
version is more flexible.