有没有大佬遇到这种问题???拜托拜托
namespace try1
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow ()
{
InitializeComponent ();
DispatcherTimer timer = new DispatcherTimer ();
DateTime.Now.ToString ();
}
private void button_Click (object sender, RoutedEventArgs e)
{
ResultMessage msg = MWRDemoDll.MifareRFEYE.Instance.Search ();
if (msg.Result == Result.Success)
{
//连接和寻卡
lstshuju.Items.Add ("连接成功");
lstshuju.Items.Add (msg.OutInfo);
lstshuju.Items.Add ("寻卡成功");
lstshuju.Items.Add (msg.Model);
lstshuju.Items.Add (DateTime.Now);
}
else
lstshuju.Items.Add (msg.OutInfo);
//写卡
string databuff = txtwenben.Text.Trim ();
int total = 16;
int len = GetStringCharLen (databuff);
if (len < total)
databuff = databuff.PadRight (total);
byte[] data = Encoding.Default.GetBytes (databuff);
ResultMessage msg1 = MWRDemoDll.MifareRFEYE.Instance.Write (CardDataKind.Data1, data);
lstshuju.Items.Add (msg.OutInfo);
ResultMessage msg2 = MWRDemoDll.MifareRFEYE.Instance.Read ();
if (msg.Result == Result.Success)
{
//读卡
lstshuju.Items.Add ("读卡成功");
int n = lstshuju.Items.Add (Encoding.Default.GetString (((byte[])msg.Model)).Replace ("\0", ""));
lstshuju.Items.Add (DateTime.Now);
}
else
lstshuju.Items.Add (msg.OutInfo);
}
//将写卡栏里面的文字转化成计算机语言在显示
public static int GetStringCharLen (string str)
{
int count = 0;
Regex regex = new Regex (@"^[\u4E00 - \u9FA5]{ 0,}$");
for (int i = 0; i < str.Length; i++)
{
if (regex.IsMatch (str[i].ToString ()))
{
count += 2;
}
else
{
count += 1;
}
}
return count;
}
}
}
```
这是debug后的错误
提示很清楚,msg.Model已经是字符串了,不能强制转换成byte[]类型