Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用';0';_C#_.net_Padleft - Fatal编程技术网

C# 使用';0';

C# 使用';0';,c#,.net,padleft,C#,.net,Padleft,我有这段代码 long num = Int64.Parse(Convert.ToString(random.Next(0, 65535), 2).PadLeft(16, '0')) 使用此代码时,字符串不填充前导零。我不确定,但我猜当字符串被解析时,它会因为某种原因删除前导零吗 如果我做这样的事 long num = Int64.Parse(Convert.ToString(random.Next(0, 65535), 2).PadLeft(16, '8')) 或者任何不是零的数字,它将正确

我有这段代码

long num = Int64.Parse(Convert.ToString(random.Next(0, 65535), 2).PadLeft(16, '0'))
使用此代码时,字符串不填充前导零。我不确定,但我猜当字符串被解析时,它会因为某种原因删除前导零吗

如果我做这样的事

long num = Int64.Parse(Convert.ToString(random.Next(0, 65535), 2).PadLeft(16, '8'))
或者任何不是零的数字,它将正确地显示为16位,前导为8

有没有一个很好的解释来解释为什么会发生这种情况

还有一个简单快捷的解决方法吗


这不是使用
int.ToString(“D16”)
或任何类似的东西的复制品。我认为这是一个独特的问题。

您正在用
0
填充字符串,然后将其转换为整数,因此任何前导零都将被删除

使用
8
填充时有效,因为您正在创建一个新数字:

888888123 != 123

如果您想用
0
填充数字,只需删除
Int64.Parse

您正在用
0
填充字符串,然后转换为整数,因此当然任何前导零都将被删除

使用
8
填充时有效,因为您正在创建一个新数字:

888888123 != 123

如果您想用
0
填充数字,只需删除
Int64。Parse

您可以使用字符串而不是long

string num = Convert.ToString(random.Next(0, 65535), 2).PadLeft(16, '0');

谢谢

您可以使用string而不是long

string num = Convert.ToString(random.Next(0, 65535), 2).PadLeft(16, '0');
谢谢