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. ctfshow-web入门-SSTI学习

    千万要仔细,不要拼错单词 千万要仔细,不要拼错单词 千万要仔细,不要拼错单词 web 361 payload name={{[].__class__.__base__.__subclasses__() ...

  2. BUUCTF-[强网杯2019]随便注

    强网杯2019随便注 它说随便注,它可不是随便注入的哈 首先测试闭合环境,因为有回显,所以很快即知道了是一个单引号闭合 接下来常规操作,得到列数大概为2 1';select 2; 返回了过滤信息 于是 ...

  3. [POI2011]MET-Meteors 解题报告

    语言系统紊乱了 QAQ 这道题感觉不是很难鸭 qwq. 先只考虑一个国家,怎么做?很显然,就直接二分一下就行了.判定答案可以维护一个差分数组,然后最后对它做一个前缀和,再求一下这个国家的流行数量就好了 ...

  4. knock:端口敲门服务

    knock:端口敲门服务 端口敲门服务,即:knockd服务.该服务通过动态的添加iptables规则来隐藏系统开启的服务,使用自定义的一系列序列号来"敲门",使系统开启需要访问的 ...

  5. ENCOURAGE研究: 病情中度活动RA获得深度缓解后有望实现停药

    标签: 类风湿关节炎; TNF拮抗剂; 维持期减停 病情中度活动的RA患者在获得深度缓解后有望实现停用生物制剂 电邮发布日期: 2016年2月3日 病情中度活动的类风湿关节炎(RA)患者通过传统DMA ...

  6. Python连接hadoop-hive连接方法

    import impala.dbapi as ipdbconn = ipdb.connect(host='IP', port= 端口, database='数据库名', auth_mechanism= ...

  7. Postgresql之闪回数据库示例

    一.摘要 在Oracle中,若发生重大的误操作,那么我们可以使用flashback database命令来把数据库整体闪回到过去的误操作的时间点,当然前提是需要打开数据库的闪回功能. 在PG中,能否也 ...

  8. 理论+实战,详解Sharding Sphere-jdbc

    摘要:Apache ShardingSphere 是一款分布式的数据库生态系统,它包含两大产品:ShardingSphere-Proxy和ShardingSphere-JDBC. 本文分享自华为云社区 ...

  9. pat乙级 1018 锤子 剪刀 布

    #include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> int ...

  10. springmvc 能进入Controller,但是前端页面还是404

    问题现象: 1.Controller里面的方法上已经加了注解 @ResponseBody 2.能进入controller的方法里面: 3.前端返回状态码 404: 4.控制台没有异常信息: 问题原因: ...