C#怎么将串口接收到的字符串转换成一个一个的字符保存在数组里

cslj1 2015-04-05 03:58:43
上位机接收到一个字符串,格式例如111e,其中要用的只有前三个,最后的e是结束标志,怎么才能将字符串的数据变成一个一个的字符存到数组里呢?
...全文
471 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
1L不是已经给你代码了吗?
引用 1 楼 xuzuning 的回复:
string s = "111e";
char[] c = s.ToCharArray();
引用 9 楼 u012482436 的回复:
那能不能将''111e''换成一个数组呢,数组里面是“111e,122e,......"只知道每一组数都是e结尾的,但是我想把e去掉,只留下”111,112......"这种形式的
cslj1 2015-04-06
  • 打赏
  • 举报
回复
那能不能将''111e''换成一个数组呢,数组里面是“111e,122e,......"只知道每一组数都是e结尾的,但是我想把e去掉,只留下”111,112......"这种形式的
  • 打赏
  • 举报
回复
string rft = "111e";
var idx = rft.IndexOf('e');
if(idx>-1){
char[] arr = rft.Take(idx).ToArray();
}
  • 打赏
  • 举报
回复
string rft = "111e";
var idx = rft.IndexOf('e');
if(idx>-1){
char[] arr = rft.Take(idx);
}
  • 打赏
  • 举报
回复
string rft = "111e";
            var idx = rft.IndexOf('e');
            if (idx > -1)
            {
                for (var i = 0; i < idx; i++)
                {
                    char chr = rft[i];//循环读取
                }
            }
cslj1 2015-04-06
  • 打赏
  • 举报
回复
具体要怎么将字符串按索引获取啊,能不能给个例子说明一下呢
  • 打赏
  • 举报
回复
string[] arr = new string[]{"111e","122e"};
arr = arr.Select(x=>s.SubString(0,3)).ToArray()
  • 打赏
  • 举报
回复
直接将字符串按索引获取 str[0]
bdmh 2015-04-05
  • 打赏
  • 举报
回复
indexof得到e的索引,然后截取前面字符,剩下的就任你摆布了
bdmh 2015-04-05
  • 打赏
  • 举报
回复
indexof得到e的索引,然后截取前面字符,剩下的就任你摆布了
xuzuning 2015-04-05
  • 打赏
  • 举报
回复
string s = "111e";
char[] c = s.ToCharArray();
赋所有源代码,开发工具vs2010 framework3.5 baidu搜索c# HidUsb都是大同小异案例,而且拿下来基本不能用。大都是围绕public static extern int CreateFile(省略众多参数..);发现没有,copy下来测试基本都是用不了的。 原因很简单:windows不允许你用程序随便就去访问硬件设备。所以在此把之前做过的基于C#开发读写HidUsb设备的项目整理成一个简单的小案例,分享给大家,开发环境VS2010。 该案例重点在public static extern SafeFileHandle CreateFile(string lpFileName, uint dwDesiredAccess, int dwShareMode, IntPtr lpSecurityAttributes, int dwCreationDisposition, int dwFlagsAndAttributes, int hTemplateFile); 看着貌似也是用到CreateFile这个函数,其实并不然,注意到没有"SafeFileHandle",这就是重点! 这样windows是允许程序访问外接hidusb设备的。 当然具体如何运用这个函数现在已经不是您应该 关心的了,因为我已经为您把它封装成一个类,您只要调用相应的方法就OK. 例: //第一步:获取HidUsb设备信息 List slist = new List(); UsbHidDevice usbhid = new UsbHidDevice(); usbhid.GetDeviceList(ref slist); //HidUsb设备信息包含在List数据集中 注:当获取到HidUsb设备信息为:\\?\hid#vid_0e2c&pid;_0112#6&1b44c403;&0&0000;#{4d1e55b2-f16f-11cf-88cb-001111000030}, 注意该字符的“vid_0e2c”和“pid_0112”部分,那么: vid为0e2c, pid为:0112 //第二步:创建一个HidUsb设备访问实例 UsbHidDevice Device = new UsbHidDevice(vid, pid); //第三步:连接HidUsb设备 Boolean connBool = Device.Connect(); //第四步:实现数据接收事件 Device.DataReceived += new UsbHidDevice.DataReceivedDelegate(Device_DataReceived); //当HidUsb设备返回信息时触发此事件 void Device_DataReceived(byte[] data) { //处理接收到的数据逻辑 } //第五步:向Hid设备发送数据"0xa0 00 0x12 0x9 0x22" string txt = "0xa0 00 0x12 0x9 0x22"; //把数据转换为字节数组 byte[] data = ConvertHelper.StringToByte(txt2); byte bt = 0; CommandMessage cmdMsg = new CommandMessage(bt, data); Boolean sbool = Device.SendMessage(cmdMsg); //发送数据 //第六步:释放所有资源 Device.Dispose();

111,112

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧