我有一个由128位(16字节)组成的十进制值 我想将其转换为8位数组,例如
decimal a='1234567890123456'// 128 bit.
int [] k =[1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6];
你能帮我用C#语言编写代码吗?
我可以在C#中声明int 128位而不是十进制值吗?
我尝试过这段代码,但我正在寻找另一种方式
subk[i] = decimal.ToInt32(key);
SubKeys.Items.Add(subk[i]);
答案 0 :(得分:0)
您可以使用LINQ来解决问题:
decimal a = 1234567890123456;// 128 bit.
int[] k = a.ToString().Select(digit => int.Parse(digit.ToString())).ToArray();
答案 1 :(得分:0)
有几种方法可以做到,但也许最容易(但不一定最有效)的方法是将其转换为字符串,然后在循环中一次取一个字符:
decimal a=1234567890123456;
string b=a.ToString();
List<int> array = new List<int>();
foreach(char c in b){
array.Add(int.Parse(c.ToString()));
}