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

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);

第1个回答  2012-08-08
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-----------------------------");
}
}
供参考
第2个回答  2012-08-08
先用八个"0"加到串前面再右侧取8位, 就准备好串了.
再分别截取存进去就行了.
第3个回答  2012-08-08
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-----------------------------");
}
}

正解
第4个回答  2012-08-08
string str=textbox.Text.Trim();
str2="00000000";
str=str2.SubString(0,8-str.Length)+str;
byte[] bt = System.Text.Encoding.Default.GetBytes(str);

思路是这样的
第5个回答  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();

C#怎么将textbox输入的值存成一个一维数组。
private void button1_Click(object sender, EventArgs e) { string[ ] strN = textBox1.Text.Split(','); \/\/整形数组 int[ ] values= new int[strN.Length]; for(int i=0; i<strN.Length; i++) { values[i] = int.Parse(strN[i]); } } ...

C#如何将textbox里的字符串转换为字节数组?
private byte[] ConvertToByteArray(String s){ byte[] arr = new byte[s.Length \/ 8 + ((s.Length % 8 > 0) ? 1 : 0)]; for (int i = arr.Length - 1; i >= 0; i--) { int start = Math.Max(0, s.Length - 8); String temp = s.Substring(start)...

C#中怎么把多个textbox里的数存到一个数组里
List<string> list=new List<string>();foreach (Control control in this.Controls){ if (control is TextBox) { TextBox t = (TextBox)control; list.Add(t.Text); }}\/\/实在要数组的话 list.ToArray();

c# 我在c#textbox控件中输入数据转换为byte数组,要求byte[0]=00;
你弄错了,byte中没有什么两个0,05这种是十六进制字符串的表示,你只需要将字符串传入下面这个函数,将得到的数组发送出去就行了。public static byte[] HexStringToByteArray(string s){ s = s.Replace(" ", "");byte[] buffer = new byte[s.Length \/ 2];for (int i = 0; i < s....

c++如何把textbox里的内容赋给一个字符串
在windows下编程,可以使用GetWindowText函数。函数原型:Int GetWindowText(HWND hWnd,LPTSTR lpString,Int nMaxCount);函数功能:该函数将指定窗口的标题条文本(如果存在)拷贝到一个缓存区内。如果指定的窗口是一个控件,则拷贝控件的文本。但是,GetWindowText不能接收其他应用程序中控件的文本。参数:hWnd:...

c# 中有20个textbox,现想调用textbox中的值,一个一个定义太麻烦,想定义...
这20个textbox如果排列的很规律的话,你本身就不该直接放在窗体上的,可以在程序中用代码来动态创建,这样就可以直接放到数组或者List里,现在的话要放到数组里也行,方法很多,比如说假定你的是从textBox1到textBox20 TextBox[] tbArray = new TextBox[20];private void Form1_Load(object sender,...

C#,WinForm编程怎么将Textbox里面的内容导出到Excel并保存.
首先放入缓存,接着新建excel文件,定义格式循环写入就可以。

C# windows应用程序中,如何从文本框TextBox中提取数字?
方法一:将TextBox的赋给一个String类型的值,例如 String a = TextBox.text 然后取到a的数组长度,通过for循环去每个判断一下如果是数字则输出不是则跳过。方法二:在函数内嵌套try catch语句 然后对TextBox的值进行强制类型转换如果出现错误则提示错误 方法三:通过正则表达式判断(下面是我在网上找到...

在C#和Asp.Net中:如何在Textbox中输入内容后响应一个Button事件
在输入的时候, <asp:TextBox ID="TextBox3n" runat="server" onkeyup="this.value=this.value.replace(\/\\D\/g,'')"Width="60px"><\/asp:TextBox> 每输入一个字符都会触发。要是等输入玩了在出发,用text的自带的事件就行,或者脚本,也行 ...

在C#中要求从文本框中随机输入一系列的正整数,将其保存在数组中。(急...
label1.Text 也是一个字符串,表示label1里的内容。string[] s=(this.TextBox1.Text).Split(new char[]{','});这样就把textbox1里的字符串的分隔符 , 给去掉,并返回一个字符串数组,逗号的前后都是数组元素。如果你不是用逗号来分隔,而是用其它,那你Split(new char[]{','}) 里就把...

相似回答