数组
声明数组
int[] intarr
float[] farr01
初始化数组
int intarr=new int[5];
float farr=new float[6]
ushort[] usarr=new ushort[5] //声明加初始化
赋值
intarr[2]=14;
float[] farr={1.2f,2.3f,1.2f,4.1f,1.4f,3.2f,1.2f};
float[] fArr= new float[3]{2.3f,66.9f,99.9f};
ushort[] usArr2=new ushort[]{23,567,999,10003};
string strArr = "Lee,Json,SQLServer,GitHub,School";
string[] items = strArr.Split(','); //这里用到了字符串的分割方
int val = arr1[5]; //访问第6个元素
二维数组
int[,] arr01=new int[3,4];
// 声明一个二维数组
初始化
int[,] arr = new int[3,2]{
{10,22},
{45,33},
{99,20}
};
访问
int item=arr[1,2]; //表示取arr数组中第二行第3个元素的值。
数据类型
值类型(Value types)
引用类型(References types)
指针类型(Pointer types)引用类型
array类
是 C# 中所有数组的基类,其中提供了一系列用来处理数组的操作
属性
length
方法
GetLength获取数组指定维度中的元素数,并返回一个 32 位整数
ToString()返回一个表示当前对象的字符串(继承自 Object)
csharp
int[] intArr03=new int[2];
Array.Copy(intArr01, intArr03, 2);//复制指定数目的元素到目标数组
字符串
声明 初始化
//声明字符串变量,赋字符串值
string sName = "育";
//调用返回字符串的方法
string strIds=method.GetIdsString(ids);
属性
Length
获取当前 String 对象中的字符数(字符串的长度)
方法
Contains(String)判断一个字符串中是否包含另一个字符串
IndexOf(String)返回字符在字符串中的首次出现的索引位置,索引从零开始
IsNullOrEmpty(String)判断指定的字符串是否为空(null)或空字符串("")
Substring(Int32)从指定的位置截取字符串
Remove(Int32)返回一个指定长度的新字符串,将字符串中超出长度以外的部分全部删除
Trim()删除字符串首尾的空白字符
str2.Contains(str1)
string.Compare(str1, str2)
string str9 = str8.Trim();//删除字符串中的首尾空格
修饰符
有三大特性------封装、继承、多态。
public Protected internal protected private
csharp
using System.IO.Ports;
using System.Text;
namespace CommComponent
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
string[] ports=SerialPort.GetPortNames();
SerialPort serialPort = new SerialPort();
//serialPort.PortName = "COM2";
//serialPort.BaudRate = 9600;
//serialPort.DataBits = 8;
//serialPort.Parity = Parity.None;
//serialPort.StopBits= StopBits.None;
serialPort = new SerialPort("COM3",9600,Parity.None,8,StopBits.One);
serialPort.Open();
serialPort.DataReceived += SerialPort_DataReceived;
// serialPort.WriteLine("hello你好");
//byte[] datas = new byte[] { 0x01, 0x02, 0x03 };
// Encoding.ASCII.GetString(datas);
// serialPort.Write(datas,0,datas.Length);
//serialPort.WriteBufferSize = 65535;
Thread.Sleep(20);
byte[] buffer = new byte[serialPort.BytesToRead];
int count=serialPort.Read(buffer, 0, serialPort.BytesToRead);
Console.ReadLine();
serialPort.Close();
}
private static void SerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
//throw new NotImplementedException();
SerialPort serialPort = (sender as SerialPort);
byte[] buffer = new byte[serialPort.BytesToRead];
int count=(sender as SerialPort).Read(buffer, 0, serialPort.BytesToRead);
Console.WriteLine(string.Join("",new List<byte>(buffer).Select(x=>x.ToString("x2"))));
}
}
}

csharp
private static void SerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e) {
SerialPort serialPort = (sender as SerialPort);
byte[] buffer = new byte[serialPort.BytesToRead]; // 创建一个刚好能装下待读数据的数组
int count = (sender as SerialPort).Read(buffer, 0, serialPort.BytesToRead); // 读取数据到数组
Console.WriteLine(string.Join("", new List<byte>(buffer).Select(x => x.ToString("x2"))); // 将每个字节转为十六进制格式并打印
}
csharp
using System.IO.Ports;
using System.Text;
namespace CommComponent
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
string[] ports=SerialPort.GetPortNames();
SerialPort serialPort = new SerialPort();
//serialPort.PortName = "COM2";
//serialPort.BaudRate = 9600;
//serialPort.DataBits = 8;
//serialPort.Parity = Parity.None;
//serialPort.StopBits= StopBits.None;
serialPort = new SerialPort("COM3",9600,Parity.None,8,StopBits.One);
serialPort.Open();
serialPort.DataReceived += SerialPort_DataReceived;
// serialPort.WriteLine("hello你好");
//byte[] datas = new byte[] { 0x01, 0x02, 0x03 };
// Encoding.ASCII.GetString(datas);
// serialPort.Write(datas,0,datas.Length);
//serialPort.WriteBufferSize = 65535;
Thread.Sleep(20);
byte[] buffer = new byte[serialPort.BytesToRead];
int count=serialPort.Read(buffer, 0, serialPort.BytesToRead);
Console.ReadLine();
serialPort.Close();
}
private static void SerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
//throw new NotImplementedException();
SerialPort serialPort = (sender as SerialPort);
byte[] buffer = new byte[serialPort.BytesToRead];
int count=(sender as SerialPort).Read(buffer, 0, serialPort.BytesToRead);
Console.WriteLine(string.Join("",new List<byte>(buffer).Select(x=>x.ToString("x2"))));
}
}
}

csharp
using System.IO.Ports;
using System.Text;
namespace CommComponent
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
string[] ports=SerialPort.GetPortNames();
SerialPort serialPort = new SerialPort();
//serialPort.PortName = "COM2";
//serialPort.BaudRate = 9600;
//serialPort.DataBits = 8;
//serialPort.Parity = Parity.None;
//serialPort.StopBits= StopBits.None;
serialPort = new SerialPort("COM3",9600,Parity.None,8,StopBits.One);
serialPort.Open();
// serialPort.DataReceived += SerialPort_DataReceived;
// serialPort.WriteLine("hello你好");
//byte[] datas = new byte[] { 0x01, 0x02, 0x03 };
// Encoding.ASCII.GetString(datas);
// serialPort.Write(datas,0,datas.Length);
//serialPort.WriteBufferSize = 65535;
Thread.Sleep(20);
while (serialPort.BytesToRead == 0)
{
}
byte[] buffer = new byte[serialPort.BytesToRead];
int count=serialPort.Read(buffer, 0, serialPort.BytesToRead);
Console.WriteLine(string.Join("", new List<byte>(buffer).Select(x => x.ToString("x2"))));
Console.ReadLine();
serialPort.Close();
}
private static void SerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
//throw new NotImplementedException();
SerialPort serialPort = (sender as SerialPort);
byte[] buffer = new byte[serialPort.BytesToRead];
int count=(sender as SerialPort).Read(buffer, 0, serialPort.BytesToRead);
Console.WriteLine(string.Join("",new List<byte>(buffer).Select(x=>x.ToString("x2"))));
}
}
}