在寫程式常常會遇到要動態陣列,C#也很貼心的做了一個功能----泛型List<T>
但我想主要不是用在這邊....沒關係,還是講解一下List的用法
一開始一定就是
List<任意型態> 名稱 = new List<跟前面一樣的任意型態>(); //new給它一個空間
然後就可以在迴圈裡面丟給它值(它可以任意變動長度)
丟值的方法為: 名稱.Add(值);
如果要從中取出值就跟陣列一樣
名稱[0] (陣列位置可以改,這邊只是範例)
如果要長度 :名稱.Count 就會跟平常的.Length一樣囉!
範例:
List<byte> modbus = new List<byte>();
for (int i = 0; i < 30; i++)
{
if (Modbus_save[i] == true) //這邊只是設一個條件而已
{
modbus.Add(Convert.ToByte(i)); //把i轉byte型態,存入List<T>
}
}
End
2014年2月19日 星期三
2014年2月11日 星期二
[C#/進制轉換] byte資料 轉換 ASCII碼
先看看程式碼
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ByteToASCII
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
byte[] toASCII = new byte[4];
toASCII[0] = Convert.ToByte(textBox1.Text,10);
toASCII[1] = Convert.ToByte(textBox2.Text,10);
toASCII[2] = Convert.ToByte(textBox3.Text,10);
toASCII[3] = Convert.ToByte(textBox4.Text,10);
textBox5.Text = System.Text.Encoding.ASCII.GetString(toASCII);
}
}
}
先new一個byte陣列,利用Convert.ToByte(String,多少進位)來轉換,存如byte陣列當中
之後用Sytem.Text.Encoding.ASCII.GetString(byte陣列) 即可轉換
End
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ByteToASCII
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
byte[] toASCII = new byte[4];
toASCII[0] = Convert.ToByte(textBox1.Text,10);
toASCII[1] = Convert.ToByte(textBox2.Text,10);
toASCII[2] = Convert.ToByte(textBox3.Text,10);
toASCII[3] = Convert.ToByte(textBox4.Text,10);
textBox5.Text = System.Text.Encoding.ASCII.GetString(toASCII);
}
}
}
先new一個byte陣列,利用Convert.ToByte(String,多少進位)來轉換,存如byte陣列當中
之後用Sytem.Text.Encoding.ASCII.GetString(byte陣列) 即可轉換
End
訂閱:
文章 (Atom)