小编Tim*_*mmy的帖子

整数加一

在 C# 中创建消息时,我做了类似的事情。

            ByteMessage[i] = "A"
            ByteMessage[++i] = "B"
            ByteMessage[++i] = "C"
            ......................
Run Code Online (Sandbox Code Playgroud)

我想在 VB.NET 中实现这一点,除了 VB.NET 不支持++or--运算符。我试过这样的事情

            ByteMessage(i += 1) = "A"
            ByteMessage(i += 1) = "B"
            ByteMessage(i += 1) = "C"
            ......................
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用。该MATH库似乎没有任何在它的任何使用。

在 VB.NET 中是否有像 C# 那样的干净解决方案?

vb.net

3
推荐指数
1
解决办法
4589
查看次数

使用'0'的Padleft字符串

我有这段代码

long num = Int64.Parse(Convert.ToString(random.Next(0, 65535), 2).PadLeft(16, '0'))
Run Code Online (Sandbox Code Playgroud)

使用此代码时,字符串不会使用前导零填充.我不确定,但我的猜测是,当字符串被解析时,它会从某种原因删除前导零?

如果我做这样的事情

long num = Int64.Parse(Convert.ToString(random.Next(0, 65535), 2).PadLeft(16, '8'))
Run Code Online (Sandbox Code Playgroud)

或者任何非零的数字,它将正确地输出到带有前导8的16位数字.

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

还有一个快速简单的解决方案吗?

不是任何使用int.ToString("D16")或任何类型的重复.我相信这是一个独特的问题.

.net c# padleft

0
推荐指数
1
解决办法
658
查看次数

标签 统计

.net ×1

c# ×1

padleft ×1

vb.net ×1