使用C#控制台应用程序编程

时间:2017-10-22 02:45:21

标签: c#

Convert.ToString((input.Split(' ').Length + 1), 2).PadLeft(8, '0')

任何人都可以为我解释这一行

2 个答案:

答案 0 :(得分:0)

拆分:

var stringItems = input.Split(' '); 

在空格

上拆分输入字符串
int itemCount = stringItems.Length + 1; 

然而,很多项目都在集合中,添加一个

var str = Convert.ToString(itemCount, 2); 

调用Convert.ToString的一些重载,它将两个整数作为参数(我不知道这是什么)。 Consult Documentation as we have no idea what this overload does

事实证明:

  

将32位有符号整数的值转换为指定基数

中的等效字符串表示形式

所以我们在base 2中有一个32位整数的字符串。

str.PadLeft(8, '0')

确保字符串总共有8个字符,除了已经存在的字符外,所有字符都是0。

看起来我们创建了一个漂亮的二进制数字。虽然我不知道它的含义是什么,没有上下文。

答案 1 :(得分:0)

它需要一个输入字符串(DateAdd(Day,7,[txtStartDate])),将其分隔在空格字符(input)上(大概是为了获得"字数"),加1结果数组的input.Split(' ')(不确定原因),将该数字转换为二进制字符串(.Length将int转换为base-2数字并将其作为字符串返回),然后填充左边的带有Convert.ToString(int, 2)字符的字符串的一侧,直到0个字符长8)。

我的猜测是,这可能会用于某种编码/解码算法(?)。

这是在行动:

.PadLeft(8, '0')

<强>输出

enter image description here