char 與 string 互轉 byte與string互轉 list 與string[]互轉 char與byte互轉


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM