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

char 与 string 互转 byte与string互转 list<string>与string[]互转 char与byte互转的更多相关文章

  1. java中String是对象还是类?详解java中的String

    有很多人搞不懂对象和类的定义.比如说java中String到底是对象还是类呢? 有人说String 既可以说是类,也可以说是对象. 其实他这么说也没问题, 类和对象其实都是一个抽象的概念. 我们可以把 ...

  2. Java String类相关知识梳理(含字符串常量池(String Pool)知识)

    目录 1. String类是什么 1.1 定义 1.2 类结构 1.3 所在的包 2. String类的底层数据结构 3. 关于 intern() 方法(重点) 3.1 作用 3.2 字符串常量池(S ...

  3. go语言byte类型报错cannot use "c" (type string) as type byte in assignment

    练习Go修改字符串的时候遇到这个问题:cannot use "c" (type string) as type byte in assignment,代码如下: package m ...

  4. android switch(String)错误:Cannot switch on a value of type String for source level below 1.7

    switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型只有JDK版本1.7以上才可以支持String 设置如下可解决问题:(若没有JDK1.7版,可下载一下安装)菜 ...

  5. python string写入二进制文件——直接wb形式open file,再write string即可

    4 down vote accepted You misunderstood what \xhh does in Python strings. Using \x notation in Python ...

  6. c++中string类型用下标初始化后str.size()为0 输出string值为空

    你的string list是个默认构造函数,这样就没有为list分配空间,自然list[i]就会报出超出string范围的错误,可以简单更改为string list(6, '\0'),事先为list指 ...

  7. string转数组, 数组转ist, list转数组, 数组转string

    private string OrderBonds(string bonds) { string[] lists = bonds.Split(','); List<string> newL ...

  8. String str = new String("abc"),这段代码一共生成了几个String对象?为什么?

    String str = new String("abc")创建了俩个对象,首先为创建一个String对象"abc",然后在调用String类的构造方法时 pu ...

  9. ByteBuffer: 当由一个byte[]来生成一个固定不变的ByteBuffer时,使用ByteBuffer.wrap(byte[]);

    StringBuilder sb = new StringBuilder(1024); //向sb中写入900个左右的随机字符内容 for(int j=1; j< 50;j++) { sb.ap ...

  10. 对bit、byte、TByte、Char、string、进制的认识

    在学校老师就教1byte = 8bit,一个Byte在内存中占8个房间.每个房间都有门牌号.找到内存中的内容就找门牌号,寻址什么的,虽然在听,但是脑袋里一头雾水,到现在只知道会用就行,但原理也不是那么 ...

随机推荐

  1. element-UI button按钮颜色回显(一)

    按钮: <el-button id="manyou" @click="Ismovement" type="primary" >漫 ...

  2. [Ynoi2016] 掉进兔子洞

    \(\text{Solution}\) 莫队配合 \(\text{bitset}\) 发现答案困难的部分在于同一个数在三个区间出现次数的最小值 考虑强行拆开看,用莫队处理出每个区间每个数的出现次数,这 ...

  3. 【USACO 2021 January Contest, Platinum】Problem 1. Sum of Distances

    \(\text{Solution}\) 一个性质:两个 \(K\) 元组有边相连当且仅当每个点在对应的图中到 \(1\) 有奇偶性相同的路径 那么我们就可以预处理每个图中的点到 \(1\) 的奇偶最短 ...

  4. PostgreSQL 绑定变量浅析

    今天我们要探讨的是 custom执行计划和通用执行计划.这一技术在 Oracle中被称为绑定变量窥视.但 Postgresql中并没有这样的定义,更严格地说,Postgresql叫做custom执行计 ...

  5. 脚本之美│VBS 入门交互实战

    目录 什么是 VBS 第一个 VBS 脚本 msgbox 语法 中文乱码 弹窗交互功能 表白恶搞 什么是 VBS VBS 是一种 Windows 脚本语言,全称是 Microsoft Visual B ...

  6. java学习日记20230227-dos原理

    DOS原理  磁盘操作系统 dis operating system md c:\\temp 创建文件夹 rd c:\\jyltemp 移除文件夹 相对路径和绝对路径  相对路径:从当前目录开始定位形 ...

  7. 179. 最大数 (Medium)

    问题描述 179. 最大数 (Medium) 给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数. 注意: 输出结果可能非常大,所以你需要返回一个字符串而不是整数 ...

  8. go on

    人生当中总是有你能力不及的范围,但是如果在你能力所及的范畴内你尽到了自己全部的努力,那你还有什么可以遗憾的呢?

  9. Python 20个常用库

    Requests.Kenneth Reitz写的最富盛名的http库.每个Python程序员都应该有它. Scrapy.如果你从事爬虫相关的工作,那么这个库也是必不可少的.用过它之后你就不会再想用别的 ...

  10. 难搞的electron之安装

    做了几个electron项目,感觉最难搞的地方竟然是安装!这怎么能忍!经过几天试错,把自己能够顺利安装的流程记录下来,仅供参考. 使用框架为quasar+vue+quasar_electron qua ...