class Program
{
static void Main(string[] args)
{
//string類型到數組 char[]數組
string str1 = "123";
string str2 = "abc";
string str3 = "表示表示";
char[] ch1= str1.ToCharArray();
char[] ch2 = str2.ToCharArray();
char[] ch3 = str3.ToCharArray();
//char[]數組到string類型
foreach(var x in ch3)
Console.WriteLine(x);//表 示 表 示
char[]ca1=new char[]{'1','表','中'};
string cs = new string(ca1);
Console.WriteLine(cs);//1表中
//string類型到數組 byte[]數組
byte[] by1 = Encoding.UTF8.GetBytes(str1);
byte[] by2 = Encoding.UTF8.GetBytes(str2);
byte[] by3 = Encoding.UTF8.GetBytes(str3);
foreach(var xx in by3)
Console.Write(xx + " ");//232 161 168 231 164 186 232 161 168 231 164 186 utf-8中字符占3字節
// byte[]數組到string類型
byte[] ba1 = new byte[] { 11,22,33};
// string bs = new string(ba1);//編譯報錯 無byte數組構造函數
string bs = Encoding.Default.GetString(ba1);//系統默認編碼
Console.WriteLine(bs);//輸出 ..! byte->ascll碼的char->string
//char和byte char占兩字節 可存漢字 byte為一字節 在C#中大小為[1,255]之中 否則編譯報錯
char c1='表';
// byte b1 = "1";//編譯出錯
// byte b2 = -1;//編譯出錯
byte b3 = 0;
byte b4 = 255;
// byte b5 = 256;//編譯出錯
Console.WriteLine("\n"+b4);//255
Console.WriteLine("\n" + c1);//表
//char 和 byte轉換時 char->byte會轉成數字 byte->char會轉成ascll字符 下面的結果是在 日文系統下的輸出結果 怎么算的未知 先擱着
char c2 = (char)b4;
Console.WriteLine(c2);//c2=255輸出 y
byte b6 = (byte)c1;
Console.WriteLine(b6);//104
//string 數組到list<string>
string[]sa1=new string[]{"aaa","bbb","333"};
List<string> ls1 = new List<string>(sa1);
Console.WriteLine(ls1.Count);//結果為 3
//list<string>到 數組string
List<string> ls2 = new List<string>();
ls2.AddRange(new string[]{"123","234","345"});
string[] sa2 = ls2.ToArray();
Console.WriteLine(sa2.Length);//結果為 3
Console.Read();
}
}
補充: string str = "1234";
char[]cs= str.ToArray();//將str看成一個char的集合 類似List<string>ls=new List<string>{new string{"123","abc","vvv"}}; ls.toArray()
foreach (var item in cs)
{
Console.Write(item);//1,2,3,4,
}
string cv = "11223344567";
string[] nstr= cv.Split(str.ToArray());
Console.WriteLine("new array length:" + nstr.Length);//9 【1】【2】【3】【4】【1】【2】【3】【4】【567】
foreach (var items in nstr)
{
Console.Write(items);//輸出567
}
Console.Read();