c#winform 里,输入在textbox里的内容想要用一个byte数组来存储,怎么实现?

textbox的length设置为8如果在textbox里输入12345678,那么byte数组a[0]=78,a[1]=56,a[2]=34,a[3]=12;如果在te... textbox的length设置为8
如果在textbox里输入12345678,那么byte数组a[0]=78,a[1]=56,a[2]=34,a[3]=12;
如果在textbox里输入abcdefgh,那么byte数组a[0]=gh,a[1]=ef,a[2]=cd,a[3]=ab;
如果在textbox里输入123,那么byte数组a[0]=23,a[1]=01,a[2]=00,a[3]=00(因为长度为8,系统先在123前加5个0,即00000123,然后存储);
怎么实现这个功能? 谢谢大家
一楼的你说的对
题目开始描述错误了 不能有"gh",而且也转不了byte
你的方法对的
不过需要一点改动就能达到我的需要的了

a[i] = Convert.ToByte(s,16);
展开
 我来答
qqbuby163
2012-08-08 · TA获得超过224个赞
知道小有建树答主
回答量:249
采纳率:100%
帮助的人:107万
展开全部
using System;
class A
{
public static void Main(string[] args)
{
string s1 = "12345678";
string s2 = "abcdefgh";
string s3 = "123";
PrintArray(s1);
PrintArray(s2);
PrintArray(s3);
}
private static string ResetString(ref string s)
{
string ss = "00000000";
if (s.Length < 8)
{
s = ss.Substring(0, 8 - s.Length) + s;
}
return s;
}
private static void PrintArray(string s1)
{
Console.WriteLine("Old:{0}", s1);
s1 = ResetString(ref s1);
Console.WriteLine("New:{0}", s1);
string[] a = new string[4];
a[0] = s1.Substring(s1.Length - 2, 2);
a[1] = s1.Substring(s1.Length - 4, 2);
a[2] = s1.Substring(s1.Length - 6, 2);
a[3] = s1.Substring(s1.Length - 8, 2);
foreach (string ass in a)
{
Console.Write(ass + " ");
}
Console.WriteLine("\n-----------------------------");
}
}
供参考
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
GoryWolf
2012-08-08 · TA获得超过315个赞
知道小有建树答主
回答量:364
采纳率:0%
帮助的人:217万
展开全部
先用八个"0"加到串前面再右侧取8位, 就准备好串了.
再分别截取存进去就行了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
w362435819
2012-08-08 · TA获得超过162个赞
知道小有建树答主
回答量:633
采纳率:0%
帮助的人:377万
展开全部
using System;
class A
{
public static void Main(string[] args)
{
string s1 = "12345678";
string s2 = "abcdefgh";
string s3 = "123";
PrintArray(s1);
PrintArray(s2);
PrintArray(s3);
}
private static string ResetString(ref string s)
{
string ss = "00000000";
if (s.Length < 8)
{
s = ss.Substring(0, 8 - s.Length) + s;
}
return s;
}
private static void PrintArray(string s1)
{
Console.WriteLine("Old:{0}", s1);
s1 = ResetString(ref s1);
Console.WriteLine("New:{0}", s1);
string[] a = new string[4];
a[0] = s1.Substring(s1.Length - 2, 2);
a[1] = s1.Substring(s1.Length - 4, 2);
a[2] = s1.Substring(s1.Length - 6, 2);
a[3] = s1.Substring(s1.Length - 8, 2);
foreach (string ass in a)
{
Console.Write(ass + " ");
}
Console.WriteLine("\n-----------------------------");
}
}

正解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wawd74520
2012-08-08
知道答主
回答量:11
采纳率:0%
帮助的人:3.9万
展开全部
string str=textbox.Text.Trim();
str2="00000000";
str=str2.SubString(0,8-str.Length)+str;
byte[] bt = System.Text.Encoding.Default.GetBytes(str);

思路是这样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-08-08
展开全部
string str = TextBox1.Text.Trim().PadLeft(8, '0');
var strarray = Regex.Matches(str, @"\w{2}").Cast<Match>().Select(t => t.Value).ToArray();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式