我是C#的新手,似乎无法找到一种方法将文本字符串从文本框复制到字节数组中的特定起点而不是使用循环。
我知道我可以:
var myBuffer = new byte[20];
myBuffer = ASCIIEncoding.ASCII.GetBytes(textBox.Text);
但是如何在数组中的偏移量处启动文本,例如在第四个字节处:
starting at myBuffer[3], copy textBox.Text; // Representation of what I need
有优雅的解决方案吗?
答案 0 :(得分:3)
是的,有一个优雅的解决方案:使用the five-argument overload of GetBytes
method:
ASCIIEncoding.ASCII.GetBytes(textBox.Text, 0, 17, myBuffer, 3);
前三个参数提供字符串,从该字符串开始编码的偏移量以及要编码的字符数。最后两个参数提供目标数组,以及从中开始写入的偏移量。
答案 1 :(得分:0)
像这样使用Substring:
var myBuffer = new byte[20];
myBuffer = ASCIIEncoding.ASCII.GetBytes(textBox.Text.Substring(3));