在C#中 有如下代码:
object ss = null;
axWinsock1.GetData(ref ss);
string strGet= “”;
strGet = System.Text.ASCIIEncoding.ASCII.GetString(ss); //此处小括号报错
而在vb.net中
object ss = null;
axWinsock1.GetData(ref ss);
string strGet= “”;
strGet = System.Text.ASCIIEncoding.ASCII.GetString(ss); //此处小括号报错
而在vb.net中
object ss = null;
axWinsock1.GetData(ref ss);
string strGet= “”;
strGet = System.Text.ASCIIEncoding.ASCII.GetString(ss);
运行正常
那么在C#中怎么样改写,得到的功能和VB.net一样,获得ASCII码
解决方案
5
strGet = System.Text.ASCIIEncoding.ASCII.GetString((byte[])ss); //应该OK
5
1、你的System.Text.ASCIIEncoding.ASCII.GetString((byte[3])ss); 这里不会报错吗?,要把3去掉
2、直接这样定义行吗?var ss=new byte[20];然后后面System.Text.ASCIIEncoding.ASCII.GetString(ss);
3、加断点。定义ss还是object,在axWinsock1.GetData(ref ss);之后加断点,看看能否看到ss的类型,或加上Console.WriteLine(ss.GetType().ToString());
2、直接这样定义行吗?var ss=new byte[20];然后后面System.Text.ASCIIEncoding.ASCII.GetString(ss);
3、加断点。定义ss还是object,在axWinsock1.GetData(ref ss);之后加断点,看看能否看到ss的类型,或加上Console.WriteLine(ss.GetType().ToString());
20
axWinsock1.GetData(ref ss);之后
1、Console.WriteLine(ss.ToString())是什么;
2、var tmp =ss as byte[],假如不报错的话,Console.WriteLine(BitConverter.ToString(tmp))是什么?
1、Console.WriteLine(ss.ToString())是什么;
2、var tmp =ss as byte[],假如不报错的话,Console.WriteLine(BitConverter.ToString(tmp))是什么?
10
加了 Console就不用断点了,看vs的输出窗口的输出内容!