c#数值转化的几个问题
刚学C#不是很会~请教几个问题1.怎么将char转为ulong,要ASCII码的转化,不是‘1’->1。2.反过来,ulong转char,也是ASCII码的转化3.二进制...
刚学C#不是很会~请教几个问题
1.怎么将char转为ulong,要ASCII码的转化,不是‘1’->1。
2.反过来,ulong转char,也是ASCII码的转化
3.二进制的文件读取
4.C#中是不是没有unsigned char?它的char是不是和C中的unsigned char一样?
1,2,4已经知道了
补充问一个~
5.C#里面的数组名不能作为指针调用么? 展开
1.怎么将char转为ulong,要ASCII码的转化,不是‘1’->1。
2.反过来,ulong转char,也是ASCII码的转化
3.二进制的文件读取
4.C#中是不是没有unsigned char?它的char是不是和C中的unsigned char一样?
1,2,4已经知道了
补充问一个~
5.C#里面的数组名不能作为指针调用么? 展开
2个回答
展开全部
1.怎么将char转为ulong,要ASCII码的转化,不是‘1’->1。
Char是Unicode类型,一般情况下,可以转换成ASCII的字符,取低8位就行了。
char ch = 'a';
int ascii = ch &0xFF;
后面是可以省略的, int ascii = ch; 这样也能得到正确的值,当然前提是字符是在ascii码的表示范围之内。
2.反过来,ulong转char,也是ASCII码的转化
直接强制类型转换就行
char ch = ( char ) 97;
这样就把ascii码的97,也就是字符'a',转成一个Unicode的char。
3.二进制的文件读取
一般情况下,使用System.IO.FileStream来对二进制文件进行读取就足够了。
using (FileStream fileStream = new FileStream("文件路径", FileMode.Open))
{
byte[] buffer = new byte[1024];
int readLen = fileStream.Read(buffer, 0, 1024);
}
4.C#中是不是没有unsigned char?它的char是不是和C中的unsigned char一样?
C#与C中的unsigned char对应的类型是byte,与C中的char对应的是sbyte。
5.C#里面的数组名不能作为指针调用么?
是不可以的,不过可以使用unsafe代码段以及允许非安全代码生成选项,然后在数组上使用指针。
unsafe
{
byte[] buffer = new byte[1024];
fixed (byte* pBuffer = buffer)
{
byte* p = pBuffer;
for (int i = 0; i < 1024; i++, p++)
{
*p = ( byte ) i;
}
}
}
Char是Unicode类型,一般情况下,可以转换成ASCII的字符,取低8位就行了。
char ch = 'a';
int ascii = ch &0xFF;
后面是可以省略的, int ascii = ch; 这样也能得到正确的值,当然前提是字符是在ascii码的表示范围之内。
2.反过来,ulong转char,也是ASCII码的转化
直接强制类型转换就行
char ch = ( char ) 97;
这样就把ascii码的97,也就是字符'a',转成一个Unicode的char。
3.二进制的文件读取
一般情况下,使用System.IO.FileStream来对二进制文件进行读取就足够了。
using (FileStream fileStream = new FileStream("文件路径", FileMode.Open))
{
byte[] buffer = new byte[1024];
int readLen = fileStream.Read(buffer, 0, 1024);
}
4.C#中是不是没有unsigned char?它的char是不是和C中的unsigned char一样?
C#与C中的unsigned char对应的类型是byte,与C中的char对应的是sbyte。
5.C#里面的数组名不能作为指针调用么?
是不可以的,不过可以使用unsafe代码段以及允许非安全代码生成选项,然后在数组上使用指针。
unsafe
{
byte[] buffer = new byte[1024];
fixed (byte* pBuffer = buffer)
{
byte* p = pBuffer;
for (int i = 0; i < 1024; i++, p++)
{
*p = ( byte ) i;
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询